В оптимальном решении задачи все искусственные переменные (ИП) должны быть равными нулю. Для этого вводят ИП в целевую функцию задачи с большими отрицательными коэффициентами (- М) при решении задачи на max, и с большими положительными коэффициентами (+ М), когда задача решается на min. В этом случае даже небольшое ненулевое значение ИП будет резко уменьшать (увеличивать) значение целевой функции. Обычно М в 1000 раз должно быть больше, чем значения коэффициентов при основных переменных.
Второй этап.
Строится исходная симплекс-таблица и отыскивается некоторое начальное базисное решение. Множество переменных, образующих единичную подматрицу, принимается за начальное базисное решение. Значения этих переменных равны свободным членам. Все остальные внебазисные переменные равны нулю.
Третий этап.
Проверка базисного решения на оптимальность осуществляется при помощи специальных оценок коэффициентов целевой функции. Если все оценки коэффициентов целевой функции отрицательны или равны нулю, то имеющееся базисное решение оптимальное. Если хотя бы одна оценка коэффициента целевой функции больше нуля, то имеющееся базисное решение не является оптимальным и должно быть улучшено.
Четвертый этап.
Переход к новому базисному решению. Очевидно, что в оптимальный план должна быть введена такая переменная, которая в наибольшей степени увеличивает целевую функцию. При решении задач на максимум прибыли в оптимальный план вводится продукция, производство которой наиболее выгодно. Это определяется по максимальному положительному значению оценки коэффициента целевой функции.
Столбец симплексной таблицы с этим номером на данной итерации называется генеральным столбцом.
Далее, если хотя бы один элемент генерального столбца а ij 0 строго положителен, то отыскивается генеральная строка (в противном случае задача не имеет оптимального решения).
Для отыскания генеральной строки все свободные члены (ресурсы) делятся на соответствующие элементы генерального столбца (норма расхода ресурса на единицу изделия). Из полученных результатов выбирается наименьший. Соответствующая ему строка на данной итерации называется генеральной. Она соответствует ресурсу, который лимитирует производство на данной итерации.
Элемент симплексной таблицы, находящийся на пересечении генеральных столбца и строки, называется генеральным элементом.
Затем все элементы генеральной строки (включая свободный член) делятся на генеральный элемент. В результате этой операции генеральный элемент становится равным единице. Далее необходимо, чтобы все другие элементы генерального столбца стали бы равны нулю, т.е. генеральный столбец должен стать единичным. Все строки (кроме генеральной) преобразуются следующим образом. Полученные элементы новой строки умножаются на соответствующий элемент генерального столбца и полученное произведение вычитается из элементов старой строки. Значения новых базисных переменных получим в соответствующих ячейках столбца свободных членов.
Пятый этап.
Полученное базисное решение проверяется на оптимальность (см. третий этап). Если оно оптимально, то вычисления прекращаются. В противном случае необходимо найти новое базисное решение (четвертый этап) и т.д.
Процесс построения математической модели для решения задачи начинается, как правило, с ответов на следующие вопросы:
Для определения каких величин должна быть построена модель, т.е. как идентифицировать переменные задачи?
Какие ограничения должны быть наложены на переменные, чтобы выполнялись условия, характерные для моделируемой системы?
В чем состоит цель задачи, для достижения которой из всех допустимых значений переменных нужно выбрать те, которые будут соответствовать оптимальному (наилучшему) решению задачи?
После ответа на данные вопросы для построения модели остается только идентифицировать переменные и представить цель и ограничения в виде математических функций этих переменных.
Надлежащий анализ вопросов подобного рода и корректная формулировка математической модели являются центральным звеном решения задач линейной (и не только линейной) оптимизации.
Эффективным средством решения задач линейной оптимизации является MS Excel. Входящий в состав данного программного продукта пакет Поиск решения (Solver) позволяет проводить решения задач подобного рода с большим (свыше 200) числом переменных и ограничений.
Отметим, что применительно к задачам оптимизации производственной программы предприятия наиболее типичными задачами линейной оптимизации являются оптимизация дохода, прибыли, себестоимости, номенклатуры производимой продукции, затрат станочного времени и т.п.
Нелинейные модели оптимизации в управлении
В качестве примера можно рассмотреть формирование оптимальной производственной программы предприятия. По критерию затрат учитывается себестоимость единицы продукции, которая уменьшается при увеличении объема выпускаемой продукции, что приводит к нелинейному критерию эффективности. Нелинейные зависимости возникают также в ограничениях задачи при точном учете норм расхода ресурсов на единицу производимой продукции.
Перечислим некоторые наиболее употребительные методы решения задач нелинейной оптимизации (нелинейного программирования):
Оптимизация
нелинейной функции с ограничениями на неотрицательность значений переменных
(наиболее широко используемыми моделями данного класса являются модели
квадратичного программирования, в которых целевая функция является квадратичной
функцией переменных
).
Модели выпуклого программирования; в моделях данного класса целевая функция является вогнутой (или выпуклой), а функции-ограничения являются выпуклыми функциями. При данных условиях локальный максимум (или минимум) функции является также глобальным. При решении таких задач используется метод множителей Лагранжа, а также теорема Куна-Таккера.
Сепарабельное программирование. В задачах данного класса целевая функция и функции-ограничения могут быть представлены в виде сумм отдельных компонент. Данные задачи могут быть сведены к задачам линейного программирования.
Дробно-нелинейное
программирование. В этих задачах производится максимизация (минимизация)
целевой функции вида
Если
функции
линейны (задача дробно-линейного программирования),
то задача сводится к линейной.
Невыпуклое программирование. Задачи данного типа принадлежат к наименее изученным и наиболее сложным задачам нелинейной оптимизации. В данном случае целевая функция и (или) функции-ограничения не выпуклы. Надежных методов решения таких задач в настоящее время не существует.
Мы ограничимся рассмотрением лишь наиболее простых задач нелинейной оптимизации, не требующих использования сложных аналитических выкладок и анализа, - задач, которые могут эффективно решаться на базе табличного процессора Excel.
Задача
нелинейной оптимизации в общем случае состоит в отыскании такого вектора
неизвестных
который
обращал бы в максимум (минимум) функцию
(2.6)
и
удовлетворял бы системе ограничений:
, (2.7)
где
на некоторые или на все переменные налагается условие неотрицательности.
2. Определение оптимального ассортимента продукции
затраты производственный прибыль
Предприятие
изготавливает два вида продукции П1 и П2 , которая поступает в оптовую продажу.
Для производства используются два вида сырья
и
. Максимально возможные запасы сырья в сутки
составляют 9 и 13 единиц соответственно. Расход сырья на единицу продукции
приведен в таблице.
Таблица
2.1
Сырье
Расход сырья на единицу продукции
Запас сырья, ед.
П1
П2
Маркетинговые исследования показали, что суточный спрос на продукцию П1
не превышает спрос на продукцию П2 более чем на 1 ед. Кроме того, известно,
что спрос на продукцию П2 не превышает 2 единиц в сутки.
Оптовые цены единицы продукции равны для П1 3 д.е., для П2- 4 д.е. Какое
количество продукции каждого вида должно производить предприятие, чтобы доход
от реализации продукции был максимальным?
Решение
Очевидно,
фирме требуется определить объемы производства каждого вида продукции в тоннах,
максимизирующие доход в д.е. от реализации продукции, с учетом ограничений на
спрос и расход исходных продуктов. Предположим, что предприятие изготовит Доход
от реализации продукции (целевая функция) составит
Проведем
решение задачи в Excel.
Введем
данные на рабочий лист так, как показано на Рис 2.1.
Искомые
значения переменных Рис.
2.1
В
ячейки A3, A4 введем левые части функций - ограничений: =2*A10+3*B10 и =
3*A10+2*B10 соответственно. В ячейку C10 введем левую часть третьей функции-ограничения:
=A10-B10.
Далее,
запускаем пакет Поиск решения (Сервис ® Поиск решения) и устанавливаем целевую
и изменяемые ячейки, а также вводим необходимые ограничения (Рис.2.2)
Рис.
2.2 Окно диалога Поиск решения
Поиск
решения дает ответ
Пример
2 .Использование мощностей оборудования
Предприятие
имеет Необходимо
составить такой план работы оборудования, чтобы обеспечить минимальные затраты
на производство, если известны производительность каждой Другими
словами, задача для предприятия состоит в следующем: требуется определить время
работы Решение.
По условию задачи машины работают заданное время Ограничение
по заданному количеству продукции имеет вид
Задача
решается на минимум затрат на производство
В
данной постановке задачи предполагается, что количество выпускаемой продукции
должно быть, по крайней мере, не менее Проведем
решение задачи в Excel. Введем данные на рабочий лист так, как показано на Рис
2.3.
В
ячейки B7:E7 введем формулы для ограничений по объему выпускаемой продукции
( в
диапазон ячеек F19:F21 - формулы для ограничений по времени работы машин
( В
качестве целевой ячейки выберем H11 и введем в нее формулу минимизируемой
функции.
Информационный
оптимизация линейный модель
Рис.
2.3. Данные для решения примера 2
С
помощью Поиска решения получим следующий ответ:
Таблица
2.2
Время работы Xij
Машина
1
2
3
4
1
803,92
0
0
196,07
2
625
0
375
0
3
0
1000
0
0
Искомое значение минимальных затрат на производство составляет 725,32
д.е.
Следующие два рассматриваемых нами примера относятся к области
целочисленной оптимизации.
Пример 3. Оптимизация производственной программы
Автомобилестроительный завод выпускает три модели автомобилей, которые
изготавливаются последовательно в трех цехах. Мощность цехов составляет 300,
250 и 200 человеко-дней в декаду. В первом цехе для сборки одного автомобиля
первой модели требуется 6 человеко-дней, второй модели 4 и третьей модели - 2
человеко-дня в неделю соответственно. Во втором цехе трудоемкость равна 3, 4 и
5 человеко-дней соответственно, в третьем - по 3 человеко-дня на каждую модель.
Прибыль, получаемая от продажи автомобиля каждой модели, составляет
соответственно 15, 13 и 10 тыс. д.е. Требуется построить модель оптимального
плана и определить оптимальные количества моделей каждого типа, т.е. такие, при
которых прибыль завода будет максимальной.
Решение.
Пусть Введем
данные на рабочий лист так, как показано на Рис. 2.4.
Искомые
значения переменных В
ячейки A3:A5 введем левые части функций - ограничений, соответствующих второму,
третьему и четвертому соотношению из (2.5).
С
помощью Поиска решения получим ответ
Рис.
2.4 Данные для решения примера 3
Пример
4.
239
3213
единиц продукции П1 и
единиц
продукции П2. Поскольку производство продукции ограничено имеющимся в
распоряжении предприятия сырьем каждого вида и спросом на данную продукцию, а
также учитывая, что количество изготовляемых изделий не может быть отрицательным,
получим следующую систему ограничений
![]()
будут располагаться в ячейках A10 и B10
соответственно, целевая функция - в ячейке E10.
моделей машин различных мощностей. Задан план по времени
и номенклатуре:
- время работы каждой машины; продукции
- го вида должно быть выпущено не менее
единиц.
- машины по выпуску
- го вида
продукции
и стоимость единицы времени, затрачиваемого
-й машиной на выпуск
- го вида
продукции
.
- машины по выпуску
- го вида
продукции
, обеспечивающее минимальные затраты на производство
при соблюдении ограничений по общему времени работы машин
и заданному количеству продукции
.
, поэтому
данное ограничение можно представить в следующем виде
. В
некоторых случаях не допускается превышение плана по номенклатуре; очевидно в
этом случае в ограничениях по количеству продукции необходимо использовать знак
равенства.
)
)
- количество выпускаемых автомобилей
-й модели в течение декады (
). Модель может быть описана следующей целевой
функцией и системами ограничений
(2.5)
будут размещаться в ячейках A10:B10, целевая функция
- в ячейке E10.