Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMK4.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
825.34 Кб
Скачать

Раздел: Теория оптимизации.

Линейное программирование.

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

Различают две формы задач линейного программирования:

- каноническую форму, когда система ограничений состоит только из уравнений и условий неотрицательности (транспортная задача);

- стандартную форму, когда система состоит только из неравенств.

Эти две формы сводятся одна к другой введением новых или исключением некоторых переменных.

Процесс построения математической модели конкретной задачи линейного программирования включает в себя три основных этапа:

  1. выбор переменных;

  2. построение целевой функции;

  3. учет ограничений, налагаемых на переменные.

Пример 1. Задача о банке.

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

Часть этих средств, но не менее 35 млн. долл. должна быть размещена в кредитах. Кредиты являются неликвидными активами банка, так как в случае непредвиденной потребности в наличности обратить кредиты в деньги без существенных потерь невозможно.

Другое дело ценные бумаги, которые всегда можно продать. Поэтому существует правило, согласно которому коммерческие банки должны покупать в определенной пропорции ликвидные активы – ценные бумаги, чтобы компенсировать неликвидность кредитов. В нашем примере ликвидное ограничение таково: ценные бумаги должны составлять не менее 30% средств, размещенных в кредитах и ценных бумагах.

Пусть - средства, размещенные в кредитах, - средства, вложенные в ценные бумаги. Имеем следующую систему линейных ограничений:

1)

2)

3)

4) .

Цель банка состоит в том, чтобы получить максимальную прибыль от кредитов и ценных бумаг: , где - доходность кредитов, а - доходность ценных бумаг.

Пример 2. Задача о использовании ресурсов.

Предприятие имеет в своем распоряжении определенное количество ресурсов разного рода: рабочую силу, производственные ресурсы, площади и т.п. Допустим ресурсы трех видов , имеются в количествах условных единиц. Предприятие выпускает два вида товаров . Количество единиц каждого ресурса, требуемое для производства каждого товара приведено в таблице:

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

Пусть и количества товаров , тогда доход предприятия .

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

Математическая задача об использовании ресурсов состоит в отыскании значений неизвестных и , удовлетворяющих условиям:

и максимизирующих функцию .

Графическое решение задачи линейного программирования.

Пример 2. Графическое решение задачи о банке:

1)

2)

3)

4) .

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

Найденная точка максимума находится на пересечении прямых 1 и 3. Ее координаты получаются решением следующей системы линейных уравнений:

Оптимальный портфель активов (максимум прибыли) имеет структуру . Максимальная прибыль составит

Рис. 1

Пример 2.

Для изготовления двух видов изделий А и В предприятие имеет 96 единиц сырья, причем на изготовление изделия А расходуется 8 единиц, а на В – 6 единиц сырья. Прибыль от реализации изделия А – 4 у.е., а от В 5 у.е. Определить план производства изделий, который обеспечит наибольшую прибыль от их реализации, если требуется изготовить не более 9 изделий А и не более 12 изделий В.

Решение.

Запишем математическую формулировку задачи:

1)

2)

3)

4) .

Построим в плоскости полуплоскости заданные неравенствами 1)-4) – область допустимых решений. Для этого заменим неравенства равенствами и определим для каждого ограничения допустимую полуплоскость.

Построим вектор нормали к линиям уровня целевой функции и прямую уровня, перпендикулярную вектору и проходящую через начало координат. Перемещая эту прямую параллельно в направлении вектора , найдем последнюю точку пересечения прямой уровня и допустимого множества решений. Эта точка является пересечением прямых 1 и 3. Найдем ее координаты: . Максимальное значение целевой функции соответствует ее значению в этой точке . (рис.2)

Рис. 2

Задачи для самостоятельного решения.

1. Задача о ресурсах. Для изготовления двух видов продукции используется три вида ресурсов. Запасы ресурсов, количество единиц ресурсов, используемое при изготовлении единицы продукции и величина прибыли, получаемой от продажи единицы продукции, приведены в таблице:

Вид ресурсов

Количество ресурса, необходимое для производства единицы продукта

Запасы ресурсов

Продукт 1

Продукт 2

рабочая сила

2

5

20

материалы

8

5

40

деньги

5

6

30

Прибыль от ед. продукта

50

40

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

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

Питательные вещества

Содержание веществ в единице продукта

Суточная потребность в веществе

Продукт 1

Продукт 2

белки

3

1

9

жиры

1

2

8

углеводы

1

6

12

Стоимость продукта

4

6

-

Записать задачу в форме задачи линейного программирования и решить ее графическим способом.

Табличный симплекс-метод.

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

Пусть в записи задачи ЛП в канонической форме имеется m нетривиальных ограничений, в которые входят n неизвестных. В общем случае можно выразить m переменных через оставшиеся n-m. Переменные x1, x2,….xm – называются базисными, а xm+1, xm+2,….. xn, - свободными. В простейшем случае в качестве базисных переменных можно взять m переменных, каждая из которых входит только в одно ограничение, причем с положительным знаком, а все bi>0. За начальный (опорный) план выбирается X=(B1, B2,…. Bm,0,0,…0).

Алгоритм симплекс-метода .

  1. Привести задачу к канонической форме (для этого в ограничения, задаваемые неравенствами ввести новые положительные переменные).

  2. Определить свободные и базисные переменные.

  3. Выразить целевую функцию через свободные переменные.

  4. Построить симплекс-таблицу, соответствующую начальному опорному плану.

  5. Проверить решение на оптимальность: если в F строке все сj>0 (в задаче на поиск минимума - все сi<0), то решение оптимально. Если существует сj<0, то решение можно улучшить, введя в базис соответствующую переменную, но предварительно нужно проверить существование решения.

  6. Проверка существования решения: рассматриваем столбцы, у которых сj<0; если существует хотя бы один столбец, у которого все коэффициенты Аi,j<0, то задача решения не имеет, так как допустимое множество решений не ограничено. Если таких столбцов нет, переходим к следующему этапу.

  7. Выбрать свободную переменную, которую нужно ввести в базис (выбор разрешающего столбца): это переменная, соответствующая столбцу с минимальным сj<0.

  8. Выбрать базисную переменную, которую надо вывести из базиса (выбор разрешающей строки):рассмотрим разрешающий столбец j и все его элементы, большие нуля; для всех таких элементов вычислим соотношение Вi/ Ai,j и выберем строку, для которой это соотношение минимально. Соответствующую этой строке переменную выводим из базиса. Элемент на пересечении разрешающего столбца и этой строки называется разрешающим.

  9. Пересчитать симплекс-таблицу для нового базиса: делим разрешающую строку на разрешающий элемент и запишем на место разрешающей строки в новой таблице; заполняем оставшиеся строки. Для этого разрешающую строку умножаем последовательно на такие числа, чтобы после ее сложения с каждой строкой старой таблицы в разрешающем столбце получить 0 (нули в этом столбце будут везде, кроме разрешающего элемента, который будет равен 1).

  10. Переходим к шагу 5.

Конец работы алгоритма:

Либо когда в F строке все элементы больше нуля, тогда оптимальное решение найдено (это столбец В последней таблицы), либо когда существует столбец, у которого все сj<0 и все Аi,j<0. В этом случае оптимальное решение отсутствует.

Вид симплекс-таблицы.

Базис

В

x1

x2

…..

xn

X1

B1

A11

A12

…..

A1n

X2

B2

A21

A22

…..

A2n

…..

…..

…..

…..

…..

…..

Хm

Bm

Am1

Am1

…..

Ann

F

Fmax

Δ1

Δ2

…..

Δn

Пример 1. Решить задачу ЛП:

Решение.

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

2-3. Выберем базис , каждому нетривиальному ограничению в нем соответствует одна переменная. F содержит только свободные переменные, ее преобразовывать не надо.

4. Составляем начальную симплекс-таблицу.

базис

В

X1

X2

X3

X4

X5

X6

B/Ai

X4

360

18

15

12

1

0

0

360/12=30

X5

192

6

4

8

0

1

0

192/6=24 min

X6

180

5

3

3

0

0

1

180/3=60

F

0

-9

-10

-16

0

0

0

Здесь столбец В – значения правых частей ограничений, столбцы X1… X6- коэффициенты при неизвестных в левых частях ограничений. Чтобы получить строку F мы приравняли нулю целевую функцию и представили ее в том же виде, что и ограничения: .

5. За разрешающий столбец принимаем столбец X3, т.к. он имеет самое минимальное отрицательное значение в строке F. Т.е. в базис будем вводить X3.

6. За разрешающую строку принимаем строку X5, так как для этой строки соотношение B/A3 минимально, т.е. из базиса будем выводить X5.

7. Переходим к новой таблице c помощью линейных преобразований строк, выбранных таким образом, чтобы получить в столбце X3 нулевые значения везде, кроме разрешающего элемента, который должен быть равен 1 (все манипуляции производим с разрешающей строкой: ее умножаем последовательно на соответствующие числа и добавляем (отнимаем) к соответствующим строкам предыдущей таблицы!):

базис

В

X1

X2

X3

X4

X5

X6

B/Ai

X4

72

9

9

0

1

-3/2

0

72/9=8 min

X3

24

3/4

1/2

1

0

1/8

0

24/0,5=48

X6

108

11/4

3/2

0

0

-3/8

1

108/1.5=72

F

384

3

-2

0

0

2

0

Так как в строке F по-прежнему осталось отрицательное число, оптимальное решение не достигнуто. Следовательно, необходимо повторить п.п. 5-7 еще раз:

Теперь за разрешающий столбец принимаем X2, за разрешающую строку X4 и пересчитываем симплекс-таблицу в новом базисе:

базис

В

X1

X2

X3

X4

X5

X6

B/Ai

X2

8

1

1

0

1/9

-1/6

0

72/9=8 min

X3

20

1/4

0

1

-1/18

5/8

0

24/0,5=48

X6

96

5/4

0

0

-1/6

-1/8

1

108/1.5=72

F

400

5

0

0

2/9

5/3

0

В этой таблице нет отрицательных элементов в строке F, следовательно мы достигли оптимального решения. Это решение содержится в столбце В последней таблицы:

Fmax(X1=0, X2=8, X3=20)=400.

Пример 2.

Предприятие производит продукцию четырех видов. Матрица затрат ресурсов на единицу продукции имеет вид:

Вектор запасов ресурсов В=(180; 150; 140), вектор цен С=(36; 30; 16; 12). Требуется найти производственную программу, максимизирующую прибыль предприятия.

Решение. Запишем математическую формулировку задачи:

Проиведем к какнонической форме, добавив в каждое неравенство дополнительное неотрицательное неизвестное:

2-3. Выберем базис , каждому нетривиальному ограничению в нем соответствует одна переменная. F содержит только свободные переменные, ее преобразовывать не надо.

4. Составляем начальную симплекс-таблицу.

базис

В

X1

X2

X3

X4

X5

X6

X7

B/Ai

X5

180

4

5

2

3

1

0

0

180/4=45

X6

150

6

0

4

1

0

1

0

150/6=25 min

X7

140

0

7

6

5

0

0

1

180/3=60

F

0

-36

-30

-16

-12

0

0

0

5. За разрешающий столбец принимаем столбец X1, т.к. он имеет самое минимальное отрицательное значение в строке F. Т.е. в базис будем вводить X1.

6. За разрешающую строку принимаем строку X6, так как для этой строки соотношение B/A1 минимально, т.е. из базиса будем выводить X6.

7. Переходим к новой таблице c помощью линейных преобразований строк, выбранных таким образом, чтобы получить в столбце X1 нулевые значения везде, кроме разрешающего элемента, который должен быть равен 1 (все манипуляции производим с разрешающей строкой: ее умножаем последовательно на соответствующие числа и добавляем (отнимаем) к соответствующим строкам предыдущей таблицы!):

базис

В

X1

X2

X3

X4

X5

X6

X7

B/Ai

X5

80

0

5

-2/3

7/3

1

-2/3

0

80/5=16 min

X1

25

1

0

2/3

1/6

0

1/6

0

X7

140

0

7

6

5

0

0

1

140/7=20

F

900

0

-30

8

-6

0

6

0

Так как в строке F по-прежнему осталось отрицательное число, оптимальное решение не достигнуто. Следовательно, необходимо повторить п.п. 5-7 еще раз:

За разрешающий столбец принимаем столбец X2, т.к. он имеет самое минимальное отрицательное значение в строке F. Т.е. в базис будем вводить X2.

За разрешающую строку принимаем строку X5, так как для этой строки соотношение B/A1 минимально, т.е. из базиса будем выводить X5.

Переходим к новой таблице:

базис

В

X1

X2

X3

X4

X5

X6

X7

B/Ai

X2

16

0

1

-2/15

7/15

1/15

-2/15

0

X1

25

1

0

2/3

1/6

0

1/6

0

X7

28

0

0

104/15

26/15

-7/15

14/15

1

F

1380

0

0

4

8

6

2

0

В строке F не осталось отрицательных элементов, следовательно, на этом шаге мы получили оптимальное решение. Это решение находится в столбце В последней таблицы:

Fmax(X1=25, X2=16, X3=0)=1380. Таким образом оптимальная производственная программа заключается в выпуске 25 ед. первого продукта и 16 ед. второго. Продукция третьего и четвертого типов не выпускается. Остаток ресурсов третьего вида – 28 ед. Максимальная прибыль предприятия – Zмах = 1380 ден. ед.

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