Автор работы: Пользователь скрыл имя, 14 Октября 2013 в 14:49, курсовая работа
Библиотека «simplex» - предназначена для оптимизации линейных систем с использованием симплексного алгоритма. Особенность ее в том, что имеется возможность выполнять оценки промежуточных этапов симплексного алгоритма, например, определять базисные переменные и т.п.
§1. Библиотека «simplex» пакета Maple
§2. Постановка задача линейного программирования для N переменных
§3. Постановка Транспортной задачи (ТЗ) для n переменных
§4. Пример решения задача линейного программирования
§5. Пример решения Транспортной задачи
Список литературы
Мы будем пользоваться способом минимальной стоимости (МС).
Изложим теперь алгоритм нахождения начального решения.
ШАГ 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.
Информация о работе Решение задач линейного программирования в среде Maple