Математическое программирование
Автор работы: Пользователь скрыл имя, 13 Июня 2011 в 15:48, курс лекций
Описание
Математическое программирование представляет собой математическую дисциплину, которая занимается изучением экстремальных задач и разработкой методов их решения.
Работа состоит из 1 файл
МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ.doc
— 922.50 Кб (Скачать документ)
Сначала полагаем h=0, т.е. строим нулевой уровень функции цели.
- прямая линия
Передвигаем прямую, соответствующую нулевому уровню цели в направлении вектора нормали до тех пор, пока она не пройдет через последнюю ее общую точку с многоугольником решений.
Координаты этой точки и есть решение задачи, т.е. ее оптимальный план.
При этом возможны следующие 4 случая:
При нахождении минимального значения функции цели линия нулевого уровня передвигается в направлении, противоположном направлению вектора .
Итак, графический метод решения задач линейного программирования состоит из следующих этапов:
- для каждого неравенства строят граничные прямые и выбирают полуплоскость, соответствующую данному неравенству;
- находят область допустимых планов, как область пересечения полуплоскостей (многоугольник решений);
- строят нулевой уровень функции цели;
- строят вектор-градиент функции цели (или вектор-нормаль);
- параллельным переносом перемещают уровень функции цели в направлении вектора-нормали (при поиске максимального значения) до тех пор, пока он не окажется в крайней точке области допустимых планов;
- координаты этой точки (множества точек) и есть оптимальный план ЗЛП (координаты точек находят, решая систему уравнений прямых, на пересечении которых они находятся). .
Пример 1.:
Пример 2.
3.2. Симплексный
метод решения задач
линейного программирования.
Идея симплексного метода решения ЗЛП состоит в переходе от одного опорного плана к другому, при котором значение целевой функции возрастает (при условии, что данная задача имеет оптимальный план, и каждый ее опорный план является невырожденным). Указанный переход возможен, если известен какой-нибудь исходный опорный план.
Пусть требуется найти максимальное значение функции
Запишем эту задачу в канонической форме:
Таким образом, мы перешли к рассмотрению задачи линейного программирования в пространстве Rn+m.
Такая система m уравнений с (n+m) неизвестными имеет бесконечное множество решений. Пусть переменные W1,...,Wm – базисные.
Полагая свободные переменные равными нулю, получим первое базисное решение. Чтобы перейти к другому базисному решению, надо поменять ролями одну свободную и одну базисную переменные. Опорный план ЗЛП является одним из базисных решений системы уравнений-ограничений.
Первый допустимый (опорный) план задачи:
Переход
от одного базисного решения к
другому реализуется с помощью
метода модифицированных жордановых исключений
(МЖИ), что удобнее делать в виде
симплексных таблиц.
| Б\С | -х1 | … | -xn | b | С/о | |
| W1
W2 · · · Wm |
a21 · · · am1 |
a12
a22 · · · am2 |
...
... · · · ... |
a1n
a2n · · · amn |
b1
b2 · · · bm |
b1/a12
b2/a22 · · · b2/a22 |
| F | -c1 | -c2 | ... | -cn |
Решение осуществляется по следующей схеме:
- В строке F выбирают самый большой по модулю отрицательный элемент. Столбец, в котором он стоит, будет разрешающим.
- Для элементов разрешающего столбца находят симплексное отношение (не отрицательное отношение элементов столбца свободных членов b к элементам разрешающего столбца).
- Разрешающая строка будет соответствовать наименьшему симплексному отношению.
- На пересечении разрешающего столбца и разрешающей строки находится разрешающий элемент. (В данном случае это , ему соответствуют базисная переменная W1 и свободная переменная x2.)
- Составляем новую симплекс-таблицу, меняя местами x2 и W1.
- Разрешающий элемент в новой таблице заменяем на обратную величину a12→1/a12.
- Элементы разрешающей строки делятся на разрешающий элемент.
- Элементы разрешающего столбца делим на разрешающий элемент с противоположным знаком.
- Остальные
элементы таблицы пересчитываем по правилу
прямоугольника.
| Б\С | -х1 | … | -xn | b | С/о | |
| x2
W2 · · · Wm |
a21 · · · am1 |
1/a12
-a22/a12 · · · -am2/a12 |
...
... · · · ... |
a1n/a12
a2n · · · amn |
b1/a12
b2 · · · bm |
|
| F | -c1 | -c2/a12 | ... | -cn |
- Процедура повторяется до тех пор, пока все элементы строки F станут неотрицательными.
Оптимальный план задачи – это базисное решение, при котором все элементы строки F положительны, а оптимальное значение функции цели записано в клетке таблицы на пересечении строки F и столбца b.
Если
при решении ЗЛП все
Пример:
Для
производства 2-х видов продукции
П1 иП2 предприятие расходует два вида
ресурсов Р1 и Р2. Расход каждого
вида ресурса на единицу продукции каждого
вида, запасы ресурсов и прибыль от реализации
единицы продукции каждого вида приведена
в таблице
| Виды ресурсов | Виды продукции | Запасы ресурсов | |
| П1 | П2 | ||
| Р1
Р2 |
1
2 |
5
1 |
15
12 |
| Прибыль от реализации единицы продукции | 6/5 | 3/2 | |
Математическая модель задачи:
L1:
S1:
Математическая формулировка ЗЛП: найти такие значения переменных х1 и х2, удовлетворяющих системе ограничений S1, которые максимизируют функцию цели F.
1.
Приведем задачу к
2. Разрешим систему ограничений задачи относительно w1 и w2:
, где w1, w2 – базисные
переменные; х1, х2 – свободные.
Запишем задачу в виде симплекс-таблицы:
Т.1.
| Б\С | -х1 | -х2 | b | с/о |
| W1 W2 |
1 2 |
5 1 |
15 12 |
12 |
| F | -6/5 | -3/2 | 0 |
- опорный план
F=0
w1,
w2 – остатки ресурсов
Т.2.
| Б\С | -х1 | - W1 | b | с/о |
| х2 W2 |
1/5 -1/5 |
3 9 |
15 | |
| F | -9/10 | 3/10 | 9/2 |
#
F2=9/2
Т.3.
| Б\С | - W2 | - W1 | b |
| х2
х1 |
-1/9
5/9 |
2/9
-1/9 |
2
5 |
| F | 1/2 | 1/5 | 9 |