Пример. Найти максимум функции при ограничениях
Решение.
Шаг I. Вводим добавочные неотрицательные переменные и сводим данную систему неравенств к эквивалентной ей системе уравнений
.
Введённые добавочные переменные принимаем за основные, так как в этом случае базисное решение системы легко находится. Тогда и - неосновные переменные.
Выразив основные переменные через неосновные, получим
Следовательно, данному разбиению переменных на основные и неосновные соответствует базисное решение , которое является недопустимым (две переменные отрицательны), а поэтому оно не оптимальное. От этого базисного решения перейдём к улучшенному.
Чтобы решить, какую переменную следует перевести из неосновных в основные, рассмотрим любое из двух имеющихся уравнений последней системы с отрицательными свободными членами, например второе. Оно показывает, что в основные переменные можно перевести и , так как в этом уравнении они имеют положительные коэффициенты (следовательно, при их увеличении, а это произойдёт, если переведём любую из них в основные переменные, переменная увеличится).
Попробуем перевести в основные переменную . Чтобы установить, какую переменную следует перевести из основные в неосновные, найдём абсолютную величину наименьшего отношения свободных членов системы к коэффициентам при . Имеем . Оно получено из третьего уравнения, показывающего, что в неосновные нужно перевести переменную , которая в исходном базисном решении положительна. Следовательно, полученное базисное решение, как и исходное, содержит две отрицательные компоненты, т. е. при переходе к такому базисному решению улучшения не произойдёт.
Если же перевести в основные переменную , то наименьшее отношение свободных членов к коэффициентам при составит . Оно получено из первого уравнения, в котором свободный член отрицателен. Следовательно, переводя в основные, а в неосновные переменные, мы получим базисное решение, в котором число отрицательных компонент на единицу меньше, чем в исходном. Поэтому остановимся на этой возможности: переводим в основные, а в неосновные переменные. Поэтому в приведённой выше системе уравнений выделенным оказалось первое уравнение.
Шаг II.
Основные переменные , неосновные переменные .
Выразим новые основные переменные через новые неосновные, начиная с выделенного на шаге I уравнения. В результате получим
Следовательно, имеем новое базисное решение , которое также является недопустимым, а поэтому не оптимальным. Но в нём, как мы и предвидели, только одна переменная отрицательна (а именно ).
От полученного базисного решения необходимо перейти к другому. Рассмотрим уравнение с отрицательным свободным членом, т. е. второе уравнение. Оно показывает, что в основные переменные можно перевести и . Переведём в основные переменные . Найдём наименьшее из абсолютных величин отношений свободных членов системы к коэффициентам при . Имеем . Значит, в неосновные переменные нужно перенести . Так как наименьшее отношение получено из второго уравнения, то его выделяем. В новом базисном решении уже не окажется отрицательных компонент, т. е. оно является допустимым.
В особых случаях решение завершается на II шаге: это, например, случаи, когда максимум целевой функции - бесконечность и когда система не имеет ни одного решения.
Шаг III.
Основные переменные: , неосновные переменные: . Выразив основные переменные через неосновные, получим
Новое базисное решение имеет вид . Является ли оно оптимальным, можно установить, если выразить линейную форму через неосновные переменные рассматриваемого базисного решения. Сделав это, получим . Так как мы ищем максимум линейной формы, а нашли лишь одно допустимое решение, то продолжим перебор.
Переводим в число основных переменную , имеющую больший положительный коэффициент. Находим . Это наименьшее отношение получено из третьего уравнения системы, поэтому его выделяем. Оно показывает, что при переменная и поэтому перейдёт в число неосновных.
В некотором особом случае решение завершается на III шаге: это случай, когда оптимальное решение - не единственное.
Шаг IV.
Основные переменные: , неосновные переменные: . Выразив основные переменные через неосновные, получим
Линейная форма, выраженная через те же неосновные переменные, примет вид . Продолжим перебор для поиска максимума.
Увеличение линейной формы возможно при переходе к новому базисному решению, в котором переменная является основной. Находим . Это наименьшее отношение получено из четвёртого уравнения системы и показывает, что при переменная и переходит в число неосновных.
Шаг V.
Основные переменные: , неосновные переменные: . Выразив основные переменные через неосновные, получим
Линейная форма, выраженная через неосновные переменные нового базисного решения, имеет вид . Критерий оптимальности для случая максимизации линейной формы выполнен. Следовательно, базисное решение является оптимальным, а максимум линейной формы
Пример решения
Решить задачу линейного программирования с помощью программы «Поиск решения» в MS Excel.
Формулировка задачи: Рацион для питания животных на ферме состоит из двух видов кормов I и II. Один кг корма I стоит 80 д.е. и содержит: 1 ед. жиров, 3 ед. белков, 1 ед. углеводов, 2 ед. нитратов. Один кг корма II стоит 10 д.е. и содержит: 3 ед. жиров, 1 ед. белков, 8 ед. углеводов, 4 ед. нитратов. Составить наиболее дешевый рацион питания, обеспечивающий жиров не менее 6 ед., белков не менее 9 ед., углеводов не менее 8 ед., нитратов не более 16 ед.
содержание пит.веществ | норма содержания | ||
Химические вещества | I | II | |
жиры | |||
белки | |||
углеводы | |||
нитраты | |||
Стоимость 1 кг |
Экономико-математическая модель задачи:
Пусть Х1 – количество корма I, X2 – количество корма II, тогда суммарная стоимость будет равна:
Z=80X1+10X2 → min (1)
Составим систему ограничений:
(2)
X1, X2 ≥ 0.
Найти решение системы ограничений (2) Х = (х1, х2), такое, что целевая функция (2) будет принимать максимальное значение.
Ход решения задачи:
Для решения задачи на ПК с использованием Excel необходимо:
1. Ввести исходные данные в ячейки рабочего листа Excel.
2. Разместить блоки ячеек на рабочем листе Excel, необходимые для моделирования наиболее дешевого рациона питания, а также для формирования элементов математической модели и целевой функции.
3. Сформировать на рабочем листе Excel элементы математической модели и целевую функцию.
4. Настроить программу «Поиск решения» и выполнить ее.
Вводим исходные данные:
Размещаем блоки ячеек, необходимые для моделирования наиболее дешевого рациона питания, а также для формирования математической модели и целевой функции:
Выделяем блок ячеек «Оптимальный выпуск» (B12:C12) и заполняем их значениями 0,01
Выделяем первую ячейку «Фактически использовано» (E4), нажимаем на кнопку Автосуммирование, далее нажимаем на кнопку DELETE и выделяем блок B12:C12, нажимаем на кнопку * и выделаем блок B4:C4 (содержание питательных веществ). Нажимаем CTRL+SHIFT+ENTER.
Проделываем эту же операцию с ячейками E5:E7 соответственно.
Выделяем первую ячейку блока «Затраты» (ячейка B14). Вводим с клавиатуры формулу =B8*МАКС(B12;0), нажимаем CTRL+SHIFT+ENTER.
Соответственно заполняем вторую ячейку затрат (С14).
Выделить ячейку «Итоговая стоимость» (ячейка Е16), нажать кнопку Автосуммирование, затем DELETE. И выделить блок B14:С14, нажать кнопку ENTER.
Далее переходим к настройке «Поиск решения»
Выделяем ячейку E16 нажимаем сервис, далее поиск решения.
Далее устанавливаем целевую ячейку Е16, ставим точку равной минимальному значению, изменяя ячейки В12:С12
далее ставим ограничения: нажимаем кнопку «добавить»
Далее добавляем следующие ограничения:
В12:С12≥0;
D4≤E4;
D5≤E5;
D6≤E6;
D7≥E7.
Нажимаем выполнить,
далее сохранить найденное решение.