Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MC_part2.doc
Скачиваний:
68
Добавлен:
10.02.2016
Размер:
1.21 Mб
Скачать

12. Метод линейного программирования поиска оптимального решения

Имеется широкий (и жизненно важный) класс задач, в которых приходится что-то оптимизировать (расходы, прибыль, наибольший объем продукции, минимальные издержки производства), при этом необходимо учитывать ограничения (доходы, дефицитность ресурсов – машин, людей, сырья, топлива, зарплаты). Приведем следующий пример:

После часа пик (зимнее утро, к примеру) расход электроэнергии падает и необходимо снижать нагрузку электрогенераторов. Как это делать? Можно отключить отдельные турбогенераторы, а можно оставить их в работе, изменив нагрузку. Диспетчер энергосистемы дает соответствующие команды, ориентируясь на средний расход топлива по системе, выброс с дымовыми газами вредных веществ в атмосферу, износ оборудования, степень готовности электростанций и дальше менять нагрузку и т.д. Переменные такой оптимизации могут быть и вещественными (мощность отдельного энергоблока, которая меняется, естественно, в разумных пределах, определяемых техническими условиями – ограничения в задаче) и целочисленными (число работающих блоков). В экономике оптимизационные задачи возникают в связи с многочисленностью возможных вариантов функционирования конкретного экономического объекта, когда возникает ситуация выбора варианта, наилучшего по некоторому правилу – например, иметь минимум затрат, максимум продукции.

В задачах данного типа важно составить математическую модель рассматриваемой проблемы и выразить качество решения с помощью функции нескольких переменных, которая называется целевой функцией . Для нахождения оптимального результата требуется осуществлять поиск экстремума (наибольшего или наименьшего значения) этой функции при ограничениях, наложенных на ее переменные. Эти ограничения имеют вид (i = 1,2, .., n), где gi — заданные функции, а — некоторые действительные числа. Задачи поиска экстремума целевой функции называются задачами математического программирования.

Если целевая функция задачи и все функции ограничений— линейные, то соответствующая задача являетсязадачей линейного программирования. Если хотя бы одна из указанных функций — нелинейная, то соответствующая задача является задачей нелинейного программирования. Обычно к задаче линейного программирования сводится т.н. транспортная задача, в которой необходимо составить оптимальный план перевозок (минимум расходов) при фиксированных расценках на каждый из маршрутов.

В общем виде задача линейного программирования ставится следующим образом: найти вектор , максимизирующий линейную форму (целевой функцией задачи)

, (12.1)

и удовлетворяющий условиям:

(12.2)

(12.3)

Условия (11.2) называются функциональными, а (11.3) — прямыми ограничениями задачи. Вектор , компоненты которого удовлетворяют функциональным и прямым ограничениям задачи, называется планом или допустимым решением задачи линейного программирования. Все допустимые решения образуют область определения задачи линейного программирования, или область допустимых решений. Допустимое решение, максимизирующее целевую функцию, называется оптимальным планом задачи:, где- оптимальное решение ЗЛП.

В пакете MathCAD решение задачи линейного программирования обычно ищется с помощью блока решений. Он открывается ключевым словом Given и завершается ключевым словом Maximize (или Minimize). Перед заголовком блока записываются следующие значения – выражение для целевой функции задачи, вектора и матрицы, необходимые для записи условий ограничения, значения начальных приближений для переменных оптимального плана. Внутри блока записываются условия функциональных и прямых ограничений задачи.

Приведем пример решения задачи линейного программирования на примере транспортной задачи в пакете MathCAD. Пусть на трех складах - А1, А2, АЗ хранится однотипная продукция в количестве соответственно 310, 250, 280 единиц. Эту продукцию необходимо доставить потребителям В1, В2, В3 по их заказам: 220, 370, 250 единиц соответственно. Стоимость перевозки одной условной единицы груза из каждого пункта отправления в каждый пункт назначения задается таблицей 12.1. На рис. 12.1 приведен фрагмент документа MathCAD, в котором решается данная задача.

Табл. 12.1. Тарифы перевозок

Потребители

Склады

В1

В2

В3

А1

10

8

6

А2

6

5

4

А3

3

4

5

Рис. 12.1 Пример решения задачи линейного программирования

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]