Лекции.Орг


Поиск:




Пример решения задачи линейного программирования симплекс-методом




Пример. Найти максимум функции при ограничениях

Решение.

Шаг 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.

Нажимаем выполнить,

далее сохранить найденное решение.

 





Поделиться с друзьями:


Дата добавления: 2016-11-23; Мы поможем в написании ваших работ!; просмотров: 677 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

831 - | 699 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.