Решение задач линейного программирования в среде Maple
Курсовая работа, 14 Октября 2013, автор: пользователь скрыл имя
Краткое описание
Библиотека «simplex» - предназначена для оптимизации линейных систем с использованием симплексного алгоритма. Особенность ее в том, что имеется возможность выполнять оценки промежуточных этапов симплексного алгоритма, например, определять базисные переменные и т.п.
Содержание
§1. Библиотека «simplex» пакета Maple
§2. Постановка задача линейного программирования для N переменных
§3. Постановка Транспортной задачи (ТЗ) для n переменных
§4. Пример решения задача линейного программирования
§5. Пример решения Транспортной задачи
Список литературы
Прикрепленные файлы: 1 файл
курсовая 2.docx
— 36.99 Кб (Скачать документ)Мы будем пользоваться способом минимальной стоимости (МС).
Изложим теперь алгоритм нахождения начального решения.
ШАГ 1. Определенным способом выбираем клетку в текущей таблице. Пусть она имеет индексы (i, j) (i -номер поставщика, j - номер потребителя).
ШАГ 2. В качестве перевозок в эту клетку назначаем наименьшую из ai и потребности bj.
xij = min{ ai, bj }
ШАГ З. Уменьшим запас ai и потребность bj на величину перевозки xij, т.е.
ai = ai - xij,
bj =bj -xij
ШАГ 4. При исчерпании запаса (ai = 0) запрещаем к перевозке оставшиеся свободные клетки i-ой строки, а при исчерпании потребности
(bj =0) запрещаем такие же клетки вj-ом столбце.
В случае одновременного исчерпания запасов потребностей (ai =bj = 0) запрещаем перевозки или в строке (тогда считаем, что у потребителя осталась потребность в количестве равном нулю, которую необходимо удовлетворить), или в столбце (в этом случае считаем, что у поставщика остается запас равный нулю, который необходимо вывезти). Это делается для того, чтобы при одновременном запрещении перевозок в строке и столбце количество заполненных клеток таблицы не стало меньшим, чем m+n-1.
Получим новую текущую таблицу, в которую не входят заполненные и запрещенные клетки. Если таблица не пуста, переходим к шагу 1. (При исчерпании таблицы - конец).
Способ минимальной стоимости
1.Клетки с минимальной ценой (3,1), (3,2) и (3,3). Выбираем, например, (3,2). (Далее все шаги, как в предыдущем способе).
2 . x32 = min{50,60} = 50
3. a '3 =50-50=0, b '2 = 100-50=50
4.Запрещаем строку 3.
1. Клетка с min ценой ~ (2,3)
2. x23 = min{70,80} = 70
3. a2=70-70=0, b'3 = 80-70=10
4. Запрещаем строку 2.
1 |
2 |
3 | |
60 |
5 60 |
10 |
12 |
Χ |
8 - |
6 - |
4 70 |
|
Χ |
0 |
0 50 |
0 - |
50 |
10 | ||
1. Клетка с min ценой ~ (1,1)
2. x 11=min{120,60} = 60
3. a 1' =120-60 = 60, b1' = 0
4.В первом столбце запрещать уже нечего. Текущая таблица содержит две клетки (1,2) и (1,3).
1.Выбираем клетку (1,2)
2.x 12 =min{110,100} = 100
3.a 1 =110-100 = 10, b'1 = 0
4.Текущая таблица содержит одну клетку (1,3).
1. Выбираем последнюю клетку(1,3)
2. x13=min{10,10} = 10
3.a1' = b3 = 0
4.Таблица исчерпана. Конец.
Переходим к описанию следующего шага метода потенциалов.
ШАГ 2. Проверка текущего плана на оптимальность.
Признаком того, что текущий план перевозок является оптимальным, служит условие
(1)ui +vj -cij ≤0
которое выполняется для всех клеток таблицы. Неизвестные здесь величины ui и vj (называемые потенциалами) определяются из условий
(2)ui + vj = cij
Условие (1) означает невозможность появления "спекулятивной" цены. Само же название "потенциалы" заимствовано из физического закона о том, что работа по перемещению заряда в электростатическом поле равна разности потенциалов в данных точках поля (У нас: "...цена перевозки единицы продукции по коммуникации равна разности цен в конце и в начале пути")
Так как заполненных клеток в таблице (m+n-1) штук, а неизвестных и (m+n) штук, то для их определения имеется система из (m+n-1) уравнений относительно (m+n) неизвестных. Чтобы найти решение (хотя бы какое-нибудь) такой системы, достаточно положить одно из неизвестных (произвольное) равным некоторому произвольно выбранному числу. Тогда остальные определяются единственным образом. Можно решать эту систему непосредственно (продолжаем работать с нашим "старым" примером и найдем потенциалы для начального плана, построенного способом МС).
Заполненные клетки Уравнения
(1,1) u1 + v1 =5
(1,2) u1 + v2 =10
(1,3) u1 + v3 =12
(2,3) u2 +v3 =4
(3,2) u3 +v2 =0
Положим, например, неизвестное u 1 равным 0 (через него можно из первых трех уравнений найти v1, v2 и v3). Последовательно из них находим u 2 , u 3.
Этот метод можно
Неизвестный потенциал находится вычитанием известного из цены перевозки в заполненной клетке
Применим это правило для определения u и v в нашем примере и получим:
u1 =0, u2 =-8, u3 =-6
v1 =5, v2 =10, v3 =12
Переходим к проверке условий
оптимальности (1). Достаточно проверять
их для незаполненных клеток, так
как для клеток заполненных эти
условия выполняются как
Проверим на оптимальность имеющееся решение
(2,1) u2+v1-c21=-8+5-8=-11<0
(2,2) u 2 +v2 -c22=-8+10-6=-4<0
(3,1) u 3 +v1 -c31=-10+ 5-0=-5<0
(3,3) u 3 +v3 -c33=-10+12-0=2>0
Следовательно, условие оптимальности нарушено в клетке (3,3).
Имеющийся план перевозок можно улучшить.
Дадим описание заключительного шага алгоритма метода потенциалов.
ШАГ 3 Улучшение плана перевозок.
Улучшение плана происходит
путем назначения перевозки θ>0
в ту клетку (i , j) таблицы, в которой
нарушилось условие оптимальности.
Но назначение ненулевой перевозки
нарушает условия баланса вывоза
продукции от поставщика i (вывозит
весь запас и еще плюсθ>0 ) и
условия баланса привоза
120 |
60 |
50+ Ө |
10- Ө |
70 |
- |
- |
70 |
50 |
- |
50- Ө |
* + Ө |
60 |
100 |
80 |
120 |
60 |
60 |
-(0) |
70 |
- |
- |
70 |
50 |
- |
40 |
* 10 |
60 |
100 |
80 |
1. Оптимальность нарушена в клетке (3,3). Назначим в нее перевозку θ>0 (+θ означает, увеличение на θ).
2.Нарушается баланс вывоза
от поставщика 3 (вывозит 50+ θ, а
это больше его запаса!). Уменьшаем
на θ перевозку в заполненной
клетке строки 3 (вне заполненной
уменьшать нельзя, так как это
приведет к отрицательной
Рассмотрим те клетки цикла в которых уменьшаем на θ перевозку и берём минимум из вычетаемых, у нас это min{10- θ ,50- θ }=10.
И данное число надо подставить в цикл
Список литературы
1. Матвеев В.А. Конечные
бескоалиционные игры и
2. Аладьев В.З., Богдявичюс
М.А. MAPLE 6: Решение математических, статистических
и физико – технических задач
– М.: Лаборатория Базовых Знаний,
3. Петросян Л.А., Зенкевич Н.А., Семина Е.А. Теория игр. М.:ВШ, Книжный дом «Университет», 1998.
4. Акулич И.Л. Математическое программирование в примерах и задачах. М.: Высшая школа, 1993.
5. Воробьёв Н.Н. Основы
теории игр. Бескоалиционные
6. Прохоров Г.В., Колбеев В.В., Желнов К.И., Леденев М.А..Математический пакет Maple V Release 4. М. 1998.