
- •Математическое программирование
- •1. Понятие модели
- •2. Математическая модель экономического объекта — это его отображение в виде совокупности уравнений, неравенств, логических отношений.
- •3. Оптимизационные модели
- •4. Содержательная постановка задач линейного программирования Задача об оптимальном использовании ресурсов
- •Задача составления рациона
- •Формы задачи линейного программирования (злп)
- •Общая форма задачи линейного программирования (злп)
- •6. Графический метод решения злп
- •3 . Выпуклым многоугольником:
- •1.6.9. Злп имеет единственное решение 1.6.10. Злп имеет альтернат. Оптимум (а и в)
- •1.6.11. Злп имеет минимум и не имеет максимума 1.6.12. Злп не имеет решения
- •7. Симплексный метод решения злп
- •Критерий разрешимости злп
- •8. Пример использования симплекс-метода для решения задачи линейного программирования
- •Симплекс-таблицы
- •Транспортная задача линейного программирования
- •1. Определение исходного опорного решения.
- •Задания
Задача составления рациона
При откорме каждое животное ежедневно должно получать не менее 9 единиц питательного вещества S l, не менее 8 единиц вещества S2 и не менее 12 единиц вещества S3. Для составления рациона используется два вида корма. Содержание количества единиц питательных веществ в 1 кг каждого вида корма и стоимость 1 кг корма приведены в таблице:
Питательные вещества |
Количество единиц питательных веществ в 1 кг корма |
|
|
Корм 1 |
Корм 2 |
S l |
3 |
1 |
S2 |
1 |
2 |
S3. |
1 |
6 |
Стоимость 1 кг корма |
4 |
6 |
Необходимо составить дневной рацион нужной питательности, причем затраты на него должны быть минимальны. Обозначим xl и x2 соответственно количество килограммов корма 1 и корма 2 в дневном рационе.
Получим систему ограничений
3
х1+ х2
9
х1 + 2х2 8 ,
х1 + 6х2 12
х1 0, х2 0.
Цель задачи: общая стоимость рациона F = 4 х1 + 6х2 должна быть минимальной.
Задачу составления рациона можно обобщить, если предусмотреть в рационе т видов питательных веществ в количестве не менее bi (i = 1, ..., т) единиц и использовать n видов кормов.
Обозначим aij (i = 1, ..., т; j = 1, ..., n) количество единиц i-того питательного вещества, содержащегося в единице j-того корма, Сj — стоимость единицы j-того корма, х j — количество единиц j-того корма в дневном рационе.
Тогда необходимо найти минимум линейной функции
F = C1 xl +… + Cn хn
при ограничениях
a
llxl
+
a12x2+...
+ alnxn
b1
a2lxl + а22х2 +... + а2nхn b2
…………………………………………….
am1 xl + аm2х2 +... + аmnхn bm
хj 0. (j= 1, ..., n)
bi 0(i = l, ..., m)
Если бы требовалось, чтобы в процессе производства (для первой задачи) какой-то ресурс использовался полностью или в дневном рационе (во второй задаче) должно содержаться точное количество единиц какого-то питательного вещества, то ограничения были бы выражены в форме уравнений, а не неравенств.
Формы задачи линейного программирования (злп)
Различают три основные формы задачи линейного программирования, к которым может быть сведена любая содержательная постановка задачи. Записи целевых функций и ограничений в них существенно различаются. Ограничения могут иметь вид неравенств или равенств. Существует также ряд практических задач, в которых часть ограничений представлена в виде равенств, а часть — в виде неравенств.
Общая форма задачи линейного программирования (злп)
Задана система m линейных уравнений с n переменными:
a
llx1+a12x2+...
+ a1nxn
≤
b1
a21x1+a22x2+ + a2nxn ≤ b2 (1.5.1)
………………………….
аk1х1+аk2х2+... + аknхn ≤ bk
аk+1,1х1+аk+1,2х2+... + аk+1,nхn = bk+1
…………………………………………
am1х1+аm2х2+... + аmnхn = bm
х j ≥ 0, где j = 1,…,n (1.5.2)
а линейная функция: F = (c1 х1 + c2 х2 + c3 х3 +…..+ cn хn) → max(min). (1.5.3)
Необходимо найти такой вектор Х=( х1, х2, х3,… , хn), который удовлетворяет ограничениям (1.5.1) и (1.5.2) и при котором линейная функции F принимает максимальное (или минимальное) значение.
Как видно из представленной выше записи, в общей форме задачи линейного программирования система ограничений (1.5.1) включает в себя как равенства, так и неравенства, а целевая функция может стремиться как к максимуму, так и к минимуму.
Более кратко задачу линейного программирования в общей форме можно представить в следующем виде:
—>max(min) (1.5.4)
,
где i=1,…,k (1.5.5)
,
где i=k+l,...m) (1.5.6)
х j ≥ 0, где j = 1,…,n (1.5.7)
Оптимальным решением (или оптимальным планом) задачи линейного программирования называется решение Х*=(х*1, х*2...хn), удовлетворяющее системам ограничений (1.5.5) — (1.5.7), при которых линейная функция F достигает оптимального значение (минимума или максимума).
Стандартная форма задачи линейного программирования (ЗЛП)
Задача линейного программирования, представленная в форме:
a
llx1+a12x2+...
+ a1nxn
≤
b1
a21x1+a22x2+ + a2nxn ≤ b2 (1.5.8)
…………………………………………
am1х1+аm2х2+... + аmnхn ≤ bm
х j ≥ 0, где j=1,…,n (1.5.9)
при которой целевая функция достигла бы своего max(min) значения:
F = (c1 х1 + c2 х2 + c3 х3 +…..+ cn хn) → max(min) (1.5.10)
называется стандартной формой задачи линейного программирования.
Особенность данной формы состоит в том, что в ней система как функциональных, так и прямых ограничений состоит из одних неравенств, переменные х j, где j=l,...,n являются неотрицательными, а целевая функция может стремиться как к минимуму, так и к максимуму.
Каноническая форма задачи линейного программирования (ЗЛП)
Форма, в которой:
F = (c1 х1 + c2 х2 + c3 х3 +…..+ cn хn) → max (1.5.11)
a
llx1+a12x2+...
+ a1nxn
=
b1
a21x1+a22x2+ + a2nxn = b2 (1.5.13)
а31х1+а32х2+... + азnхn = b3
…………………………………………
am1х1+аm2х2+... + аmnхn = bm
х j ≥ 0, где j = 1,…,n (1.5.13)
все переменные х j — неотрицательны, система ограничений представляет собой систему уравнений, а целевая функция стремится к максимуму, называется канонической формой задачи линейного программирования.
Переход от стандартной и общей форм ЗЛП к канонической
Разнообразие форм задач линейного программирования затрудняет исследование их общих особенностей и создание общих методов и вычислительных алгоритмов для их решения. Рассмотрим способ сведения любой ЗЛП к наиболее простой и удобной для исследования форме — канонической.
Для осуществления перехода от стандартной формы записи к канонической нужно в каждое из m неравенств системы ограничений ввести m дополнительных неотрицательных переменных: xn+1, xn+2,…, xn+m, тогда система ограничений примет вид:
a
llx1+a12x2+...
+ a1nxn+
xn+1
=
b1
a21x1+a22x2+ + a2nxn + xn+2 = b2 (1.5.14)
а31х1+а32х2+... + азnхn + xn+3 = b3
…………………………………………
am1х1+аm2х2+... + аmnхn+ xn+m = bm
здесь xn+1, xn+2, xn+3, …, xn+m— выравнивающие балансовые переменные, где xj ≥0, где (j = l,...,n+m). Добавив эти балансовые переменные в неравенства, превращаем их в уравнения. Если же в стандартной форме требовалось минимизировать целевую функцию, то, заменив ее знак на «-», получим:
F1 = F = -c1 х1 - c2 х2 - c3 х3 -…..- cn хn → max (1.5.15)
Для решения этой задачи необходимо найти такой вектор Х=( x1, x2, x3, …, xm), который удовлетворял бы системе ограничений (1.5.14) и при котором целевая функция (1.5.15) принимала бы максимальное значение.
Пример
Пусть ЗЛП задана в стандартной форме:
F = 2х1 + Зх2 → max
при ограничениях:
х
1+Зх2≤18
2x1+x2≤16
х2≤5
Зх1 ≤21
x1≥0; х2≥0.
Приведем эту задачу к каноническому виду. О братим имеющуюся систему неравенств в равенства, вводя для этого в каждое из них соответствующую неотрицательную переменную:
x1 +3х2 +х3 =18
2х1 +х2 + х4 =16
х2 +х5 =5
Зх1+х6=21.
В данном примере все дополнительные переменные введены со знаком «+», так как рассматриваемые неравенства имеют знак ≤. Необходимо заметить, что в том случае, если неравенства имели бы знак ≥, переменные нужно было бы вводить со знаком «-».