Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие - ИЗ.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.34 Mб
Скачать

4. Общая постановка задачи линейного программирования

1. Задача линейного программирования в каноническом виде

а11х1 + а12х2+……а1nхn = в1

а21х1 + а22х2+……а2nхn = в2 (1)

……………………………

аm1х1 + аm2х2+……аmnхn = вm

xi ≥ 0, i = 1,n

F = c1х1 + c2х2+……cnхn → max

Матричная запись:

Ах = в

х ≥ 0

F = c x → max

Здесь А – матрица коэффициентов, х – столбец переменных,

в- столбец правых частей, с - строка коэффициентов целевой функции.

Какие возможны ситуации?

1) Система (1) не имеет решений. Интерес такая ситуация не представляет.

2) Система (1) имеет единственное решение. Ясно, что оно и будет оптимальным решением.

3) Система (1) имеет бесконечное множество решений, но целевая функция не ограничена на множестве допустимых решений. Экономически такой случай не интересен. Он лишь свидетельствует о недостатке построения модели.

4) Система (1) имеет бесконечное множество решений, и целевая функция ограничена на множестве допустимых решений. Именно такой случай экономически представляет наибольший интерес. Рассмотрим его более подробно.

Теоретические основы линейного программирования. (без доказательства).

1. Множество решений системы (1) является выпуклым многогранником (напомним, что выпуклое множество вместе с любыми двумя точками содержит все точки соединяющего их отрезка).

2. Вершины многогранника называются угловыми точками.

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

Остановимся подробнее на последнем пункте.

Прежде всего, как искать угловые точки?

а) найти базисные переменные, т.е. те m переменных, которым соответствует не равный 0 определитель. Остальные переменные- свободные.

б) выразить базисные переменные через свободные

в) свободные переменные приравнять к нулю и подсчитать значения базисных переменных.

г) отобрать только наборы переменных с неотрицательными компонентами (опорные решения)- это и будут угловые точки!

Пример 1: решить задачу линейного программирования в каноническом виде.

х1 – х2 + 4х3 - 2х4 = 2

1 + 2х2 - х3 + 4х4 = 3

хi ≥ 0, i = 1,4

F= - 4x1- 2x2 + x3 - x4 → max

а) базисные переменные х1, х2

х12 = 2 - 4х3- 2х4

1+2х2 =3 + х3- 4х4

х12 = 2

1+2х2 =3 → x1=7/5, x2 = -3/5→ x =(7/5,-3/5,0,0) -базисное решение, но не опорное!

б) базисные переменные х13

х1+4х3 = 2 + х2 + 2х4

1- х3 = 3 - 2х4 - 4х4

х1+4х3 = 2

1- х3 = 3 → x1=14/13, x2 = 3/13→ x =(14/13, 0 , 3/13,0) -базисное решение, опорное!

в) базисные переменные х14

х1-2х4 = 2 + х2 - 4х3

1+4х4 =3 - 2х2+ х3

х1-2х4 = 2

1+4х4 =3 → x1=7/5, x4 = -3/5→ x =(7/5, 0, 0, -3/5) -базисное решение, но не опорное!

г) базисные переменные х2, х3

- х2+ 4х3 = 2 – х1 + 2х4

23 =3 - 3х1-4 х4

- х2+ 4х3 = 2

2 - х3 = 3 → x2 =2, x3 = 1→ x =(0, 2, 1, 0) -базисное решение, опорное!

д) базисные переменные х3, х4

4 х3- 2х4 = 2 – х1 + х2

3+4х4 =3 - 3х1-2 х2

4 х3- 2х4 = 2

- х3+4х4 =3 → x3 =1, x4 = 1→ x =(0, 0, 1, 1) -базисное решение, опорное!

Вычисляем критерий F в каждой из угловых точек:

F2= -50/13, F4= -3, F5= 0

Оптимальное решение х = (0, 0, 1, 1) → Fmax=0

Метод, которым мы нашли оптимальное решение, можно назвать методом перебора угловых точек.

Недостатки метода очевидны: даже при небольшом числе ограничений, число угловых точек велико, да и сам способ их нахождения весьма трудоемок.

2. Задача линейного программирования в стандартной форме

а11х1 + а12х2+……а1nхn ≤ в1

а21х1 + а22х2+……а2nхn ≤ в2 (2)

……………………………

аm1х1 + аm2х2+……аmnхn ≤вm

xi ≥ 0, i = 1,n

F = c1х1 + c2х2+……cnхn → max

Геометрический смысл тот же, что и в п.1 (для задачи в каноническом виде).

Пример 2:

Участок цеха выпускает изделия двух видов. Исходные данные указаны в таблице стандартного вида:

Ресурсы

Запасы

Расх. коэфф.

1 2

Медь

45

5 3

Алюминий

16

1 2

Прибыль

2 3

Начальнику цеха нужно составить план выпуска изделий, обеспечивающий цеху максимальную прибыль.

Построение математической модели.

Пусть х1, х2 количество изделий каждого вида, соответственно.

1 + 3х2 ≤ 45 (α)

х1 + 2х2 ≤ 16 (β)

х1, х2 ≥ 0

F = 2x1 + 3x2 → max

Далее эту задачу с двумя переменными можно решать двумя способами:

1. Привести к каноническому виду:

1 + 3х2+ х3 = 45

х1 + 2х2 + х4 = 16

х1, х2, х3, х4 ≥ 0

F = 2x1 + 3x2max

3, х4 – балансовые переменные)

Далее можно решать перебором угловых точек (см. выше).

Результат: хопт.= (2, 7, 0, 0), Fmax = 25

2. Мы, однако, воспользуемся другим методом - графоаналитическим.

Систему ограничений в стандартной форме перепишем так:

Рис. 1

Множество допустимых решений (многоугольник) заштриховано на рис 1. Среди точек этого многоугольника и нужно выбрать оптимальную.

Выше мы отметили, что оптимальная точка совпадет с угловой точкой (О, А, В, С). Чтобы их не перебирать поступим так:

Изобразим линию уровня F= 0 и отметим в точке О вектор- градиент. Из курса высшей математики мы знаем, что он ортогонален линии уровня и указывает направление возрастания целевой функции F. (нам это и нужно - прибыль).

Перемещая линию уровня в указанном направлении найдем ту точку многоугольника, в которой линия уровня последний раз с ним соприкоснется. Это точка В.

Чтобы найти ее координаты заметим, что она лежит на прямых (α) и (β):

1 + 3х2 = 45

х1 + 2х2 =16

хопт = (2,7) Fmax = 25

Заметим, что из-за неточности рисунка, “подозрительными” могут оказаться несколько точек. В этом случае следует найти значение целевой функции в каждой из них выбрать наилучшее.

Пример 3:

Предприниматель, обладая капиталом 30000 у.е. хочет сформировать пакет акций двух компаний (их цены 6 и 4 , соответственно) исходя из следующих требований:

- общее число акций не превышает 6000

- число акций каждого вида не превышает 5000.

Ожидаемая прибыль 1,2 и 1 у.е. на каждую акцию, соответственно.

Построение математической модели:

х1, х2 – количество акций каждого вида.

х1 + х2 ≤ 6000 (α)

х1 ≤ 5000 (β)

х2 ≤ 5000 (γ)

1 + 4х2 ≤ 30000 (δ)

х1, х2 ≥ 0

F = 1,2х1 + х2 →max

Воспользуемся графоаналитическим методом:

Рис.2

Оптимальная точка лежит на пересечении прямых (α) и (δ).

х1 + х2 = 6000

1 + 4х2 = 30000

хопт = (3000, 3000) Fmax = 6600