- •Прикладные задачи математического программирования Учебное пособие
- •Глава I Введение в математическое моделирование § 1.1. Понятие математической модели, классификация моделей, виды моделирования
- •§ 1.2. Введение в линейное программирование
- •Глава II Основные типы задач линейного программирования и методы их решения § 2.1. Построение математических моделей задач лп
- •§ 2.2. Графический способ решения систем линейных неравенств
- •§ 2.3. Решение задачи линейного программирования графически
- •§ 2.4. Каноническая форма задач лп
- •§ 2.5. Идея симплексного метода
- •§ 2.6. Симплексный метод решения задач линейного программирования
- •I этап. Запись задачи в симплекс-таблицу.
- •II этап. Проверка опорного плана на оптимальность.
- •III этап. Улучшение опорного плана.
- •IV этап. Выписывание оптимального решения.
- •§ 2.7. Поиск первоначального опорного плана
- •§ 2.8. Двойственность в линейном программировании
- •Исходная задача I Двойственная задача II
- •§ 2.9. Теоремы двойственности
- •§ 2.10. Экономическая интерпретация двойственной задачи и теории двойственности
- •Глава III Транспортные задачи линейного программирования § 3.1. Постановка транспортной задачи общего вида
- •§ 3.2. Алгоритм метода потенциалов
- •1) Для всех (*)
- •2) Для всех (**)
- •§ 3.3. Усложненные задачи транспортного типа
- •§ 4. Решение задач оптимизации в Excel
- •Библиографический список
§ 2.4. Каноническая форма задач лп
Одним из универсальных методов линейного программирования является симплексный метод, который применим для задач, имеющих каноническую форму.
Определение. Задача ЛП имеет каноническую форму, если:
все ограничения системы состоят только из уравнений,
переменные неотрицательны,
целевую функцию необходимо максимизировать.
Однако в большинстве экономических задач чаще всего в систему ограничений первоначально входят не только уравнения, но и неравенства, как было у нас в задачах 2, 3, 4, 5.
Любая общая задача
ЛП может быть приведена к канонической
форме. Выполнение первого условия
достигается путем введения новых (или
их называют дополнительными)
переменных. Вернемся к задаче 3. Система
ограничений (3) этой задачи состоит из
четырех неравенств. Введя дополнительные
переменные:
можно перейти к системе ограничений:
(9)
Эти дополнительные
переменные
имеют конкретный экономический смысл,
а именно означают величину неиспользованного
времени работы (простоя) машины
го
вида. Например, если бы машины первого
вида работали все 18 ч., то
следовательно,
Но мы допускаем возможность неполного
использования времени работы 1-й машины
В этом случае
приобретает положительное значение и
может рассматриваться как неиспользованный
лимит времени. Например, зная решение
этой задачи из результатов § 2.3,
мы можем из системы ограничений (9)
сделать вывод, что
а
.
То есть машины 1-го , 2-го, 3-го вида
используют свое рабочее время полностью,
а вот 4-я машина загружена лишь наполовину:
3 часа при заданном оптимальном плане
простаивает. Возможно, после таких
выводов руководителю предприятия
захочется загрузить ее другой работой,
сдать в аренду на это время и т. д.
Итак, введением дополнительных переменных мы можем любое ограничение типа неравенства привести к уравнению.
Рассмотрим задачу
о смеси (4 из §2.1). Система ограничений
имела вид
Неравенства были
обращены в сторону «больше», поэтому,
вводя дополнительные переменные
их необходимо отнять
от левой части, чтобы уравнять ее с
правой. Получим систему ограничений в
канонической форме:
Переменные
также будут иметь экономический смысл.
Если вы вспомните практическое содержание
задачи, то переменная
будет означать количество излишнего
вещества А в смеси,
– количество излишков вещества В в
смеси,
–
количество излишков С в смеси.
Выполнение второго
условия: задача нахождения минимального
значения целевой функции может быть
сведена к нахождению максимума для
функции –F, ввиду очевидности утверждения
.
П
Рис. 2.6
достигает своего максимума, то функция
,
симметричная ей относительно оси OX, в
этой же точке
достигнет минимума, причем
при
.
Вып
Выполнение третьего
условия – неотрицательности переменных
достигается представлением отрицательной
переменной в виде разности двух
переменных, которые уже в свою очередь
неотрицательны:
.
§ 2.5. Идея симплексного метода
Симплексный метод является универсальным методом линейного программирования. Его алгоритм состоит из ряда шагов, следуя которым, вы приходите к решению задачи ЛП. Сейчас нас будет интересовать аналитическая идея этого метода, которая при общем взгляде на алгоритм или на «замурованную» программу в ЭВМ не столь ясна, как если бы рассмотреть ее на конкретном примере.
Итак, если мы решаем ЗЛП в канонической форме, то система ограничений – это обычная система линейных уравнений. При решении задач ЛП получаются системы линейных уравнений неопределенные, т.е имеющие множество решений.
Например, пусть есть система
Здесь число уравнений равно 2, а неизвестных 3, уравнений меньше – система недоопределена. Выразим и через :
Это общее решение
системы. Если переменной
придавать любые, произвольные числовые
значения, то будем находить частные
решения системы. Например,
Имеем
частное
решение. Пусть
другое
частное решение. Таких частных решений
бесконечно много.
Совокупность
переменных
и
образует базис:
Переменные
и
называются базисными, а переменная
– свободной. Если
,
то полученное частное решение (5,11,0)
называется базисным
решением,
соответствующим базису
Базисным называется решение, соответствующее нулевым значениям свободных переменных.
В качестве базисных
можно было взять и другие переменные –
или
.
Как переходить от
одного базиса
к другому базису
?
Для этого надо переменную перевести в базисные, а – в небазисные. То есть в уравнениях надо выразить через и подставить в 1-е уравнение:
,
.
Базисное
решение, соответствующее базису
,
таково:
Если теперь от
базиса
нам захочется перейти к базису
,
то
,
.
Базисное решение, соответствующее базису : (0;19/4;5/4).
Из трех найденных
базисных решений решение, соответствующее
базису
,
отрицательное (
).
Нас в ЗЛП интересуют только неотрицательные
решения. Если задача ЛП имеет решение,
то оно достигается на множестве базисных
неотрицательных
решений системы ограничений канонической
формы.
Поэтому идея симплекс-метода и состоит в последовательном переходе от одного базиса к другому, лучшему с точки зрения значения целевой функции.
Рассмотрим пример.
Решим задачу ЛП:
Функцию
необходимо максимизировать, при заданной
системе ограничений:
Эти
ограничения могут рассматриваться как
произошедшие из неравенств, а переменные
–
как дополнительные. Запишем ограничения,
выбрав базис из переменных
Этому базису
соответствует базисное неотрицательное
решение
или (0; 0; 50; 40; 80).
Теперь нужно
выразить F через небазисные переменные,
в нашем случае это уже сделано:
1. Проверим, достигла
ли функция F своего максимального
значения. Для этого базисного решения
– значение функции равно 0. Но его можно
увеличить, если
будет возрастать, т. к. коэффициент в
функции при
положителен. Причем, т.к. 5>3, то при
увеличении
функция будет расти быстрей, чем при
увеличении
.
До каких пор мы можем увеличивать
переменную
?
При увеличении
значения переменных
уменьшаются (смотрите 1-е и 3-е равенства
системы ограничений). Переменная
не может быть увеличена больше чем до
50, иначе
станет отрицательной (ввиду равенства
1); и не больше чем до 40, иначе
станет отрицательна. Итак, из анализа
следует, что переменную
можно увеличить до 40, что гарантирует
увеличение F.
2. Перейдем к новому
базису Б2,
введя переменную
в базис вместо
.
Итак,
Выразим
эти базисные переменные через небазисные.
Для этого, сначала выразим
из 3-го уравнения и подставим в остальные,
в том числе и в функцию.
Имеем:
.
Базисное решение,
соответствующее базису
,
имеет вид (40; 0; 10; 40; 0) и функция F
принимает значение, равное 200 в этом
базисе.
3. Значение функции F можно ещё увеличить за счет переменной , т.к. коэффициент при ней положителен. Из первого уравнения видно, что можно увеличить до 80, из третьего – до 40, второе уравнение позволяет увеличивать без ограничений. Следовательно, всего до 40. Вводим в базис из третьего уравнения вместо .
Имеем:
.
4. Значение функции
нельзя больше увеличивать, т.к.
коэффициенты при переменных
и
в функции отрицательны. При любых
положительных значениях этих переменных
значение функции будет меньше 200.
Следовательно, необходимо, чтобы эти
переменные были равны 0, тогда значение
будет максимальным и равно 220. При этом
базисные переменные
.
Пример завершен.
На этом примере наглядно продемонстрирована идея метода. Постепенно переходя от базиса к базису, при этом, всегда обращая внимание на значения целевой функции, которые должны улучшиться, мы приходим к такому базису, в котором значение целевой функции улучшить нельзя, оно оптимально. Заметим, что базисов конечное число, поэтому количество шагов, совершаемых нами до нужного базиса, конечно. Осталось эту идею воплотить в четкий алгоритм, чтобы избежать тяжелого вычислительного процесса, и отдать полученный в результате симплекс-метод на «вооружение» машине-компьютеру.
