2.1. Постановка задач линейного программирования
Процесс построения математической модели начинается с ответов на следующие вопросы:
-
Для определения каких величин должна быть построена модель, т.е. как идентифицировать переменные задачи?
-
Какие ограничения должны быть наложены на переменные, чтобы выполнялись условия, характерные для моделируемой системы?
-
В чем состоит цель задачи, для достижения которой из всех допустимых значений переменных нужно выбрать те, которые будут соответствовать оптимальному решению задачи?
Рассмотрим некоторые общие модели и задачи.
Задача производственного планирования.
Некоторый экономический объект (предприятие, цех, фирма) может производить п видов некоторой продукции. В процессе производства используется т видов ресурсов (сырья). Применяемые технологии характеризуются нормами затрат сырья на единицу производимого продукта – aij – норма расхода сырья i-го вида производство единицы продукции j-го вида. Известны ограничения на ресурсы, которые расходуются в процессе производства – bi – запас сырья i-го вида, а также доход от единицы продукции j-го вида – сj. Определить план производства, который принесет наибольший суммарный доход экономическому объекту.
Для построения экономико-математической модели условие задачи удобно представить в таблице 2.1.
Таблица 2.1
Вид сырья | Норма расхода сырья i-го вида на производство единицы продукции j-го вида | Запас сырья | |||
Вид продукции | |||||
1 | 2 | … | п | ||
1 | а11 | а12 | … | а1п | b1 |
2 | а21 | а22 | … | а2п | b2 |
… | … | … | … | … | … |
т | ат1 | ат2 | … | атn | bт |
Доход от единицы продукции | с1 | с2 | … | сп |
|
Обозначим через хj – количество выпускаемой продукции j-го вида.
В рамках описанных выше технологий на производство всей продукции первого вида расход сырья первого вида составит а11х1, на производство всей продукции второго вида – а12х2, и, так далее, на производство всей продукции п-го вида – а1пхп. Общие затраты сырья первого вида можно представить в виде суммы:
а11х1 + а12х2 + … + а1пхп.
Поскольку запасы сырья ограничены, то эта сумма не должна превышать величину запаса сырья первого вида – b1, т.е.
а11х1 + а12х2 + … + а1пхп b1.
Проведя аналогичные рассуждения для всех видов сырья, получим остальные неравенства системы ограничений:
а21х1 + а22х2 + … + а2пхп b2,
……………………………….
ат1х1 + ат2х2 + … + атпхп bт.
К системе ограничений также должны быть добавлены естественные ограничения на неотрицательность переменных х1, х2, … , хп, поскольку количество продукции любого вида не может быть отрицательным:.
Доход, получаемый от производства всей продукции первого вида равен с1х1, от производства всей продукции второго вида – с2х2, и так далее, от производства всей продукции п-го вида – спхп . Суммарный доход равен
с1х1 + с2х2 + … + спхп.
Таким образом, задача заключается в нахождении таких переменных х1, х2, …, хп , которые удовлетворяют системе ограничений
и обращают функцию дохода z = с1х1 + с2х2 + … + спхп в максимум.
Задача оптимальной загрузки оборудования.
Предприятию нужно выпустить продукции П1 по плану N1 единиц, продукции П2 – N2 единиц, и так далее, продукции Пk – Nk единиц. Продукция обрабатывается на взаимозаменяемом оборудовании В1, В2, …, Вт различной мощности. Также известны следующие величины: aij – норма времени на обработку единицы продукции i-го вида на оборудовании j-го вида; Аj – фонд времени оборудования j-го вида, сij – себестоимость обработки продукции i-го вида на оборудовании j-го вида. Спланировать выпуск продукции Пj, чтобы себестоимость ее была наименьшей и план выпуска продукции был выполнен.
Для построения экономико-математической модели условие задачи удобно представить в таблице 2.2.
Таблица 2.2
Вид оборудования | Себестоимость обработки продукции i-го вида на оборудовании j-го вида | Фонд времени оборудования | |||
Вид продукции | |||||
П1 | П2 | … | Пk | ||
В1 | а11 | а12 | … | а1k | А1 |
В2 | а21 | а22 | … | а2k | А2 |
… | … | … | … | … | … |
Вт | ат1 | ат2 | … | атk | Ат |
План выпуска продукции | N1 | N2 | … | Nk |
|
Обозначим хij – количество продукции i-го вида, которая обрабатывается на оборудовании j-го вида.
Фактические затраты времени на обработку всей продукции П1 на оборудовании В1 составят а11х11, на обработку всей продукции П2 на оборудовании В1 – а12х12, и, так далее, на обработку всей продукции Пk – а1пх1п. Общие затраты времени на обработку всей продукции на оборудовании В1 можно представить в виде суммы:
а11х11 + а12х12 + … + а1kх1k.
Поскольку фактические затраты времени не могу превышать отведенные фонды, то эта сумма не должна превышать А1, т.е.
а11х11 + а12х12 + … + а1kх1k А1.
Проведя аналогичные рассуждения для всех оборудования, получим остальные неравенства системы ограничений:
а21х21 + а22х22 + … + а2kх2k А2,
……………………………….
ат1хт1 + ат2хт2 + … + атkхтk Ат.
Поскольку по условию задачи план должен быть выполнен, то имеем систему ограничений:
х11 + х21 + … + хm1 = N1.
х12 + х22 + … + хm2 = N2,
…………………………
х1т + х2т + … + хтk = Nk.
К системе ограничений также должны быть добавлены естественные ограничения на неотрицательность переменных хij, поскольку количество продукции любого вида не может быть отрицательным.
Общая себестоимость обрабатываемой продукции равна
z = c11х11+c12х12+…+c1kх1k+c21х21+c22х22+…+c2kх2k+…+cт1хт1+cт2хт2+…+cтkхтk.
Таким образом, задача заключается в нахождении таких переменных х1, х2, …, хп , которые удовлетворяют системе ограничений
и обращают функцию себестоимости в минимум.
Задача о смесях.
К таким задачам относится класс математических моделей, касающийся экономических проблем, связанных с изготовлением различных смесей (сплавов металлов, химических веществ, производства нефтепродуктов и др.).
Фирма имеет возможность покупать т различных видов сырья и приготавливать различные виды смесей. Каждый вид сырья содержит разное количество питательных компонентов (ингредиентов). Продукция должна удовлетворять хотя бы минимальным требованиям с точки зрения полезности (питательности). Перед руководством фирмы стоит задача определить количество каждого i-го вида сырья, образующего смесь минимальной стоимости при соблюдении требований к общему расходу смеси и ее питательности.
Пусть хi – количество i-го вида сырья в смеси; т – количество видов сырья; п – количество ингредиентов в смеси; аij – количество ингредиента j-го вида, содержащегося в единице i-го вида сырья; bj – минимальное количество ингредиента j-го вида, содержащегося в единице смеси; сi – стоимость единицы сырья i-го вида; q – минимальный общий вес смеси, используемый фирмой.
Для построения экономико-математической модели условие задачи удобно представить в таблице 3.
Таблица 3
Вид ингредиента | Количество ингредиента j-го вида, содержащегося в единице i-го вида сырья | минимальное количество ингредиента | |||
Виды сырья | |||||
1 | 2 | … | п | ||
1 | а11 | а12 | … | а1п | b1 |
2 | а21 | а22 | … | а2п | b2 |
… | … | … | … | … | … |
т | ат1 | ат2 | … | атn | bт |
Стоимость единицы сырья | с1 | с2 | … | сп |
|
В единице сырья первого вида содержится а11 единиц первого ингредиента, а во всем сырье первого вида этого ингредиента будет а11х1. Этого же ингредиента в единице сырья второго вида содержится а12 единиц, а во всем сырье второго вида этого ингредиента будет а12х2 и так далее, а1nхn – количество первого ингредиента в п-м виде сырья. Общее количество сырья первого вида, содержащегося во всех смесях равно
а11х1 + а12х2 + … + а1nхn.
Поскольку известно, что минимальное количество ингредиента первого вида, содержащегося в единице смеси должно быть b1 , имеем следующее ограничение
а11х1 + а12х2 + … + а1nхnb1 .
Рассмотрим второй вид ингредиента. Необходимо учесть содержание этого ингредиента во всем количестве смеси первого сырья, второго и т.д. до п-го вида сырья. Суммируя отдельные значения количества единиц второго вида ингредиента во всех смесях, получим общее количество второго вида ингредиента. Она должно быть не меньше минимального количества ингредиента второго вида, содержащегося в единице смеси b2. Аналогично предыдущим рассуждениям, можно установить соотношения между содержанием ингредиента любого вида во всех смесях и минимальным количеством этого ингредиента в смеси. В результате придем к системе ограничений на питательность смеси:
| а11х1 + а12х2 + … + а1nхn b1. а21х1 + а22х2 + … + а2nхn b2, ………………………………. ат1х1 + ат2х2 + … + атnхn bт. |
Переменные х1, х2, …, хn , представляющие собой количества ингредиента первого, второго и т.д., до п-го вида, не могут быть отрицательными. В случае, если какой-либо ингредиент не входит в состав смеси, то соответствующая переменная будет равно нулю. Таким образом, придем к системе ограничений на неотрицательность переменных
х1 0, х20, …, хn 0.
В связи с тем, что известен минимальный общий вес смеси q, используемый фирмой, придем к ограничению на расход смеси
х1 + х2 + … + хn q.
Зная, что цена единицы сырья первого вида с1, можем вычислить стоимость всего сырья первого вида – с1х1. Аналогично стоимость всего сырья второго вида – с2х2 и т.д., стоимость всего сырья п-го вида – сnхn. Суммарная стоимость всех видов сырья, используемых в приготовлении смеси, равна сумме всех этих стоимостей.
Таким образом задача о смесях заключается в нахождении величин х1, х2, …, хn , удовлетворяющих ограничениям
а11х1 + а12х2 + … + а1nхn b1. а21х1 + а22х2 + … + а2nхn b2, ………………………………. ат1х1 + ат2х2 + … + атnхn bт. х1 + х2 + … + хn q. х1 0, х20, …, хn 0 |
и дают минимум целевой функции
z = с1х1 + с2х2 +…+ сnхn.
Транспортная задача.
Одной из часто встречающихся задач хозяйственного управления является задача по разработке рационального плана транспортных перевозок. Основная цель организации перевозок – минимизация затрат на их осуществление. Такая задача носит название транспортной.
Транспортная задача принадлежит к специальному классу распределительных задач линейного программирования. Пусть нужно перевезти однородный груз из m пунктов отправления А1, А2,…,Ат в n пунктов потребления B1, B2,…, Bп. Известно количество груза ai (запасы), находящееся у i-го поставщика (постоянно), а также объемы потребностей в нем bj (заявки) j-го потребителя. Известны также затраты на перевозку единицы груза от i-го поставщика к j-му потребителю – тариф – сij. Необходимо распределить груз таким образом, чтобы затраты на его перевозку были минимальными.
Обозначим хij – количество груза, перевозимого из i-го пункта отправления в j-го пункт назначения.
Решение (план перевозок) определяется матрицей размерности ()
.
Общее количество груза, вывозимое от каждого поставщика, не должно превышать имеющихся у него запасов:
х11 + х12 + … + х1п а1.
х21 + х22 + …+ х2п а2,
……………………….
хт1 + хт2 + … + хтп ат.
Заявки, поданные пунктами потребления, должны быть выполнены:
х11 + х21 + … + хm1 = b1.
х12 + х22 + … + хm2 = b2,
…………………………
х1т + х2т + … + хтп = bп.
Естественно, что все неизвестные не могут принимать отрицательные значения, т.е. .
Общая стоимость перевозок равна
z = c11х11+c12х12+…+c1пх1п+c21х21+c22х22+…+c2пх2п+…+cт1хт1+cт2хт2+…+cтпхтп.
Таким образом, задача заключается в нахождении таких переменных , которые удовлетворяют системе ограничений
и обращают функцию транспортных расходов в минимум.
Обобщая рассмотренные примеры, можно сделать следующие выводы:
-
ограничения в задачах линейного программирования могут быть выражены как равенствами, так и неравенствами.
-
линейная функция может стремиться как к максимуму, так и к минимуму.
-
переменные в задачах всегда неотрицательны.
Задача линейного программирования в общем виде формулируется так.
В задаче линейного программирования (ЗЛП) нужно найти экстремум (максимум или минимум) линейной целевой функции :
, (2.1.1)
при ограничениях:
(2.1.2)
В формулах (2.1.1), (2.1.2) – заданные постоянные величины, причем ; символ означает, что в конкретной ЗЛП возможно ограничение типа равенства или неравенства (в ту или другую сторону).
ЗЛП (2.1.1), (2.1.2) можно записать в следующих формах: канонической, векторной, матричной.
Каноническая форма ЗЛП имеет вид (2.1.3), (2.1.4):
, (2.1.3)
, (2.1.4)
Векторная форма ЗЛП имеет вид (2.1.5), (2.1.6):
, (2.1.5)
, (2.1.6)
,
где .
Матричная форма ЗЛП имеет вид (2.1.7), (2.1.8):
, (2.1.7)
,, (2.1.8)
где - матрица размера ,, .
| Планом ЗЛП или допустимым решением ЗЛП называется вектор , который удовлетворяет системе ограничений (2.1.2). |
| Оптимальным планом ЗЛП или оптимальным допустимым решением ЗЛП называется план ЗЛП, который оптимизирует целевую функцию (2.1.1). |
| Многоугольником решений ЗЛП или областью допустимых решений ЗЛП называется совокупность точек, удовлетворяющих системе ограничений (2.1.2). |
Для решения ЗЛП приведем на следующие утверждения.
| Множество называется выпуклым, если вместе с двумя точками ему принадлежит и отрезок их соединяющий. Точка множества называется граничной, если в любой ее окрестности содержатся как точки, которые принадлежат множеству, так и точки, которые ему не принадлежат.
Совокупность граничных точек множества образует его границу. Точки, в которых пересекаются отрезки или прямые границы многоугольника, называются вершинами. Пересечением областей называется множество точек, которые принадлежат каждой из этих областей. |
Теорема 1. Область допустимых решений задачи линейного программирования является выпуклым множеством.
Теорема 2. Оптимальное значение целевая функция задачи линейного программирования достигает в вершине многоугольника решений.
Теорема 3. Если оптимальное значение целевая функция задачи линейного программирования достигает в нескольких точках многоугольника решений, то она принимает это же значение в любой точке, которая является их выпуклой линейной комбинацией.
2.2. Графический метод решения задачи линейного
программирования
Графический метод решения ЗЛП основан на утверждениях, приведенных в пункте 2.1. Согласно теореме 2, оптимальное решение находится в вершине многоугольника решений и поэтому решить ЗЛП – найти вершину многоугольника решений, координаты которой дают оптимальное значение целевой функции.
Графический метод используют для решения ограниченного класса задач с двумя переменными, иногда с тремя переменными. Надо заметить, что для трех переменных многоугольник решений является недостаточно наглядным.
- Рецензенты:
- Содержание
- 1. Программа курса Введение
- Математические основы программирования
- Общий вид задачи линейного программирования
- Методы решения общей задачи линейного программирования
- Двойственные задачи линейного программирования
- Распределительные методы
- Элементы нелинейного программирования
- Элементы теории игр
- Введение
- Классификация задач математического программирования
- 2. Математическое программирование
- 2.1. Постановка задач линейного программирования
- Алгоритм графического метода решения злп
- 2.3. Симплекс-метод решения задачи линейного программирования
- Алгоритм симплекс-метода решения злп
- Пример 2.3.1. Решить злп (2.2.1), (2.2.5) симплекс-методом.
- Критерий оптимальности опорного плана:
- Переход к следующей симплекс-таблице осуществляют по правилам:
- 2.4. Двойственная задача линейного программирования
- 2.5. Элементы теории матричных игр
- Алгоритм принципа максимина (минимакса)
- Решение. Эта матричная игра имеет размерность (3х4), т.Е. Игрок а имеет три стратегии, а игрок в – четыре. Запишем ее в нормальной форме.
- Последовательность действий при решении игры
- 2.6. Транспортная задача. Метод потенциалов
- Алгоритм метода потенциалов состоит из следующих этапов:
- Критерий оптимальности плана перевозок
- 2.7. Задача о назначениях
- Алгоритм метода Фогеля
- Алгоритм венгерского метода решения задачи о назначениях
- 2.8. Дробно-линейное программирование
- Правила решения задачи дробно-линейного программирования графическим методом
- 2.9. Целочисленное программирование
- 2.10. Параметрическое программирование
- Алгоритм решения задачи параметрического программирования
- 3. Задания для самостоятельной работы