Главная      Учебники - Экономика     Лекции по экономической теории - часть 2

 

поиск по сайту            

 

 

 

 

 

 

 

 

 

содержание   ..  32  33  34   ..

 

 

Использование линейного программирования для решения задач оптимизации

Использование линейного программирования для решения задач оптимизации

II . Практический раздел

2.1 Решение транспортной задачи

Имеются два склада с сырьём. Ежедневно вывозится с первого склада 60 т сырья, со второго – 80 т. сырьё используется двумя заводами, причём первый завод получает – 50 т, а второй – 90 т. нужно организовать оптимальную (наиболее дешёвую) схему перевозок, если известно, что доставка 1 т сырья с первого склада на первый завод стоит 7 рублей, с первого склада на второй завод – 9 рублей, со второго склада на первый завод – 10 рублей, со второго склада на второй завод – 8 рублей.

Решение:

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


х12 = 60;

х3 + х4 = 80;(1)

х1 3 = 50;

х2 4 = 90.

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

хi ≥ 0, где i = 1, . ., 4, (2)


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

f = 7х1 + 9х2 + 10х3 + 8х 4. (3)

Таким образом, мы пришли к типичной задаче линейного программирования : найти оптимальные значения проектных параметров хi (i = 1, . ., 4), удовлетворяющим условиям (2), (3) и минимизирующим стоимость перевозок (3).

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

х12 = 60;

х3 + х4 = 80;(4)

х3 = 50 - х1 ;

х4 = 90 - х2 .

Поскольку в соответствии с (2) все проектные параметры должны быть неотрицательны, то с учётом (4) получим следующую систему неравенств:

х1 ≥ 0, х2 ≥ 0, 50 - х1 ≥ 0, 90 - х2 ≥ 0.

Эти неравенства можно записать в более компактном виде :

0≤ х1 ≤ 50, 0≤ х2 ≤ 90. (5)

Данная система неравенств описывает все допустимые решения рассматриваемой задачи. Среди всех допустимых значений свободных параметров х1 и х2 нужно найти оптимальные, минимизирующие целевую функцию f . Формула (3) для неё с учётом соотношений (4) принимает вид

f = 7х1 + 9х2 + 10(50 - х1 )+ 8(90 - х2 );

f = -3х1 + х2 + 1220.

Отсюда следует, что стоимость перевозок уменьшается с увеличением значений х1 ; поэтому нужно взять его наибольшее допустимое значение. В соответствии с (5) х1 = 50, тогда получим, что х2 = 60 - х1 = 10. Тогда оптимальные значения остальных параметров можно найти по формулам (4):

х3 = 50 - х1 =50 – 50 = 0, х4 = 90 - х2 = 90 – 10 = 80.

В этом случае минимальная общая стоимость перевозок равна :

f = 7*50 + 9*10+ 10*0+ 8*80 = 350 + 90 + 0 + 640 = 1080.

То есть, минимальная общая стоимость перевозок f = 1080.

Покажем на рисунке схему доставки сырья на заводы. (Числа указывают количество сырья в тоннах).

2.2 Решение производственной задачи

Для производства двух видов изделий А и В предприятие использует три вида сырья. Другие условия задачи приведены в таблице.

Вид сырья

Нормы расхода сырья на одно изделие, кг

A B

Общее количество сырья, кг
I 2 4 300
II 4 4 120
III 12 252
Прибыль от реализации одного изделия, ден. ед. 30 40

Составить такой план выпуска продукции, при котором прибыль предприятия от реализации продукции будет максимальной при условии, что изделие В надо выпустить не менее, чем изделия А.

Решение.

Обозначим через х1 и х2 количество единиц продукции соответственно А и В, запланированных к производству. Для их изготовления потребуется (12 х1 +4х2 ) единиц ресурса I, (4х1 +4х2 ) единиц ресурса II, (3х1 +12х2 ) единиц ресурса III. Так кА потребление ресурсов I, II, III не должно превышать их запасов, то связь между потреблением ресурсов и их запасами выразится системой неравенств:

12х1 +4х2 ≤ 300; 1 + х2 ≤ 75;

1 +4х2 ≤ 120; или х1 + х2 ≤ 30; (6)

1 +12х2 ≤ 252. х1 +4х2 ≤ 84.

По смыслу задачи переменные х1 ≥ 0, х2 ≥ 0. (7)

Суммарная прибыль А составит 30х1 от реализации продукции А и 40х 2 от реализации продукции В, то есть : F = 30х1 +40х 2 (8)

Далее будем решать задачу двумя методами:

1способ – симплексный метод

С помощью дополнительных неотрицательных переменных перейдём к системе уравнений. В данном случае все дополнительные переменные вводятся со знаком « + », так как все неравенства имеют вид « ≤ ».

Получим систему ограничений в виде :

312 3 ≤ 75;

х12 + х4 ≤ 30; (9)

х1 + 4х2 + х5 ≤ 84.

Для нахождения первоначального базисного решения разобьём переменные на две группы – основные и не основные. Так как определитель, составленный из коэффициентов при дополнительных переменных х3 , х4 , х5 отличен от нуля, то эти переменные можно взять в качестве основных на первом шаге решения задачи.

I шаг.

Основные переменные: х3 , х4 , х5.

Не основные переменные: х1 , х2. .

Выразим основные переменные через не основные :

х3 = 75 - 3х1 - х2 ;

х4 = 30 х1 - х2 ; (10)

х5 = 84 - х1 - 4х2.

Положив основные переменные равными нулю, то есть х1 = 0, х2 = 0, получим базисное решение Х1 = (0, 0, 75, 30, 84), которое является допустимым. Поскольку это решение допустимо, то нельзя отбросить возможность того, что оно оптимально. Выразим линейную функцию через не основные переменные:

F = 30х1 + 40х2 .

При решении Х1 значение функции равно F(Х1 ). Легко понять, что функцию F можно увеличить за счёт увеличения любой из не основных переменных, входящих в выражение Fс положительным коэффициентом. Это можно осуществить, перейдя к новому базисному решению, в котором эта переменная будет не основной, то есть принимать не нулевое, а положительное значение. При таком переходе одна из основных переменных перейдёт в не основные. В данном примере для увеличения F можно переводить в основные любую переменную, так как и х1 и х2 входят в выражение для F со знаком «+». Для определённости будем выбирать переменную, имеющую больший коэффициент, то есть х2 . Система (10) накладывает ограничения на рост переменной х2 . Поскольку необходимо сохранять допустимость решений, то есть все переменные должны оставаться неотрицательными, то должны выполняться следующие неравенства (при этом х1 = 0 как не основная переменная):

х3 = 75 - х2 ≥ 0; х2 ≤ 75;

х4 = 30 - х2 ≥ 0; откуда х2 ≤ 30;

х5 = 84 - 4х2 ≥ 0; х2 ≤ 84.

Каждое уравнение системы, определяет оценочное отношение – границу роста переменной х2, сохраняющую неотрицательность соответствующей переменной. Эта граница определяется абсолютной величиной свободного члена к коэффициенту при х2 при условии, что эти числа имеют разные знаки.

Очевидно, что сохранение неотрицательности всех переменных возможно, если не нарушается ни одна из полученных границ. В данном примере наибольшее возможное значение для переменной х2 определяется как х2 = min {75, 30, 84/4} = 84/4 = 21. При х2 = 21 переменная х = 0 и переходит в не основные.

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

IIшаг.

Основные переменные: х2 , х3 , х4.

Не основные переменные: х1 , х. .

Выразим основные переменные через новые не основные, начиная с разрешающего уравнения(его используем для записи выражения для х2 ) :

х2 = (84 - х1 - х5 )/4;

х3 = 75 - 3х 1 - 84/4 + х1 /4 + х5 /4;

х4 = 30 - х1 - 84/4 + х1 /4 + х5 /4;

или

х2 =21 0,25 х1 - 0,25х5 ;

х=54 - 2,75х1 + 0,25х5 ;

х=9 - 0,75х1 + 0,25х5 .

Второе базисное решение Х2 = (0, 21, 54, 9, 0 ) является допустимым.

Выразив линейную функцию через не основные переменные на этом шаге, получаем:

F = 30х1 + 40 (84 - х1 - х5 )/4 = 840 + 20х1 - 10х5

Значение линейной функции F2 = F(X2 ) = 840.

Поскольку необходимо сохранять допустимость решений, то должны выполняться следующие неравенства(при этом х1 = 0 как не основная переменная):

х2 =21 - 0,25х5 ≥ 0; х5 ≤ 84;

х3 =54+ 0,25х5 ≥ 0; откуда х5 ≤ -216; (11)

х4 =9 + 0,25х5 ≥ 0. х5 ≤ -36 .

Обнаруживаем возможность дальнейшего увеличения линейной функции за счёт переменной х1, входящей в выражение для F с положительным коэффициентом. Система уравнений (11) определяет наибольшее возможное значение для х5 :

Х5 = min {84, -216,-36} = -36 .

При х5 = -36 х4 = 0 переходит в неосновные переменные.

Разрешающим будет третье уравнение.

III шаг.

Основные переменные : х1 , х2 , х3.

Неосновные переменные : х4 , х5.

Выразим основные переменные через неосновные:

х1 = 12– 4/3х4 + 1/3х5 ;

х2 = 18 + 1/3х4 - 1/3х5 ;

х3 = 21 + 11/3х4 - 11/3х5.

Третье базисное решение Х3 = (12, 18, 21, 0, 0) является допустимым.

Выразим линейную функцию через неосновные переменные:

F = 30(12– 4/3х4 + 1/3х5 )+ 40(18 + 1/3х4 - 1/3х5 ) = 1080 – 80/3х4 - 10/3х5.


Значение линейной функции F3 = F(X3 ) = 1080.

Это выражение не содержит положительных коэффициентов при не основных переменных, поэтому значение F3 = F(X3 ) = 1080 максимальное. Функцию F невозможно ещё увеличить, переходя к другому допустимому базисному решению, то есть решение X3 – оптимальное. Вспоминая экономический смысл всех переменных можно сделать выводы.

Прибыль предприятия принимает максимальное значение 1080 ден. ед. при реализации 12 единиц продукции Р11 =12) и Р2 2 =18). Дополнительные переменные х 3 , х 4 , х 5.

показывают разницу между запасами ресурсов каждого вида и их потреблением, то есть остатки ресурсов. При оптимальном плане производства х 4 = х 5 = 0, остатки ресурсов S2 и S3 равны нулю, а остатки ресурсов S1 = 21.

Ответ: максимальная прибыль от реализации продукции равна 1080 ден. ед.

2 способ – геометрический мето д

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

линейной функции F = 30х1 + 40х2 →maxпри следующих ограничениях:

1 + х2 ≤ 75, (I)

х1 + х2 ≤ 30, (II) (12)

х1 +4х2 ≤ 84, (III), х1 ≥ 0, х2 ≥ 0, х2 ≥ х1

по смыслу задачи.

Изобразим многоугольник решений данной задачи.

II
I

С

В
А
Область АВС, изображённая на рисунке, является областью допустимых значений функции F. Принимая во внимание систему (12), можно заметить, что самое оптимальное решение Находится в точке А, находящейся на пересечении прямых Iи II, то есть координаты точки А определяются решением системы уравнений:

1 + х2 ≤ 75, х1 = 12,

х1 + х2 ≤ 30, или х2 = 18., т. е. А(12, 18)

максимальное значение линейной функции равно :

Fmax = 30*12 + 40*18 = 1080.

Итак, Fmax = 1080 при оптимальном решении х1 = 12, х2 = 18, т. е. максимальная прибыль в 1080 ден. ед. может быть достигнута при производстве 12 единиц продукции А и 18 единиц продукции В. Ответ: Fmax = 1080.


З аключение

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

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

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

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