Исследование операций (работа 5)

Московский государственный

Горный университет

Курсовой проект по исследованию операций.

Решение задачи методами линейного,

целочисленного, нелинейного и динамического

программирования.

Выполнил студент группы

ПМ – 1 – 97 Солодовников Д. А.

Научный руководитель: Багрова Г.И.

Москва 1999 г.

Содержание:

Цель курсовой работы ……………………………………………………………..3

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

Решение задачи методом линейного программирования ……………………….6

Целочисленное линейное программирование …………………………………...9

Решение задачи методом целочисленного линейного программирования …...10

Нелинейное программирование ………………………………………………….15

Решение задачи нелинейного программирования ………………………………15

Динамическое программирования ………………………………………………..20

Решение задачи динамического программирования …………………………….21

Графическая интерпретация решений ……………………………………………25

Трудоемкость и эффективность решения модели различными методами …….27

О проекте …………………………………………………………………………...28

Цель курсовой работы.

Решить задачу методами линейного, целочисленного, нелинейного и динамического программирования. Сопоставить трудоемкость и эффективность решения модели различными методами.

Задание:

Определить плановые задания добывающим предприятиям, если в работе находится N = 12 составов.

Цена готовой продукции 50 у.е. за тонну.

Руда, поступающая на обогатительную фабрику должна иметь содержание 29,8 – 29,9%.

Наименование показателя

Единицы

Измерения

Предприятия

1

2

3

Max добыча

ПИ

тыс. тонн

740

680

600

Содержание полезного компонента

%

29,1

29,8

30,8

Извлечение

%

80

75

70

Затраты на добычу, транс-портировку и переработку

у.е. /т

6

7

8

Производительность

Состава

тыс. тонн

120

110

106

Коэффициент увеличения затрат при нагрузке:

До 30% -

31 – 50% -

51 – 70% -

71 – 100%-

максимальной

1,8

1,7

1,6

1,4

1

1,7

1,5

1,4

1,2

1

1,9

1,7

1,6

1,3

1

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

ЛП – линейное программирование;

ЦЛП – целочисленное линейное программирование;

ДП - динамическое программирование.

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

Основная задача линейного программирования:

Найти неотрицательное решение системы ограничений (1,2) обеспечивающее максимум (минимум) целевой функции.

1) Первый канонический вид:

a>11>x>1>+a>12>x>2>+…+a>1j>x>j>+…+a>1n>x>n>b>1>

a>21>x>1>+a>22>x>2>+…+a>2j>x>j>+…+a>2n>x>n>b>2>

……………………………………

a>i1>x>1 >+a>i2>x>2>+…+a>ij>x>j >+…+ a>in>x>n>b>i>

.……………………………………

a>m1>x>1>+a>m2>x>2>+…+a>mj>x>j>+…+a>mn>x>n>b>n>

x>j>0; j=1,n; i=1,m;

Z=C>1>x>1>+C>2>x>2>+…+C>j>x>j>+…+C>n>x>n>max (min);

2) Второй канонический вид:

a>11>x>1>+a>12>x>2>+…+a>1j>x>j>+…+a>1n>x>n>+y>1>=b>1>

a>21>x>1>+a>22>x>2>+…+a>2j>x>j>+…+a>2n>x>n>+y>2>=b>2>

………………………………………

a>i1>x>1 >+a>i2>x>2>+…+a>ij>x>j >+…+ a>in>x>n>+y>i>=b>i>

.………………………………………

a>m1>x>1>+a>m2>x>2>+…+a>mj>x>j>+…+a>mn>x>n>+y>m>=b>n>

x>j>0; j=1,n; i=1,m;

Z=C>1>x>1>+C>2>x>2>+…+C>j>x>j>+…+C>n>x>n>max (min);

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

Теоремы линейного програмирования:

Теорема 1. Множество допустимых решений основной задачи линейного программирования выпукло.

Теорема 2. Линейная функция задачи линейного программирования достигает своего экстремального значения в крайней точке множества решений.

При решении системы ограничений могут возникнуть следующие случаи:

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

2) Система ограничений имеет единственное решение ( рис. 1.2).

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

4) Система ограничений имеет бесчисленное множество решений (рис. 1.4).


Рис. 1.1 Рис. 1.2 Рис. 1.3 Рис. 1.4


C

a b

Рис. 2

Симплекс – метод.

Решение задачи линейного программирования включает в себя 3 этапа:

1) Отыскание базисного решения – некой точки А (рис. 2) лежащей на функции.

2) Отыскание опорного решения – некой точки B (рис. 2) принадлежащей области, образованной ограничениями.

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

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

В настоящее время решение задач ЛП с помощью симплекс – метода реализуется с помощью ЭВМ.

Решение задачи методом линейного программирования.

Симплекс – метод.

Определить плановое задание добывающим предприятиям, если в работе находится N=12 составов. Цена готовой продукции 50 у.е. за тонну. Руда поступающая на обогатительную фабрику должна иметь содержание Ме (полезного компонента) в пределах 29,9 – 29,9 %

Наименование показателя

Единицы

Измерения

Предприятия

1

2

3

Max добыча

ПИ

тыс. тонн

740

680

600

Содержание полезного компонента

%

29,1

29,8

30,8

Извлечение

%

80

75

70

Затраты на добычу, транс-портировку и переработку

у.е. /т

6

7

8

Производи-тельность

Состава

тыс. тонн

120

110

106

x>1>, x>2>, x>3> – количество составов выделенных соответственно предприятиям 1, 2 и 3.

Ограничения:

    По количеству составов:

,

где n – количество предприятий, N – количество составов.

    x>1 >+ x>2 >+ x>3>12

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

, где

    120x>1 > 740 или x>1>6,16666 (для предприятия 1);

    110x>2> 680 или x>2> 6,18181 (для предприятия 2);

    106x>3 > 600 или x>3> 5,6603 (для предприятия 3).

    По содержанию полезного компонента в руде:

по формуле:

где

>min >– минимально допустимое содержание полезного компонента в руде,

>max> – максимально допустимое содержание полезного компонента в руде,

>i> – содержание полезного компонента в руде i – того предприятия,

q>i> – производительность состава i – того предприятия,

имеем:

Упростим неравенства 5, 6:

    34,92x>1> + 32,78x>2> + 32,648x>3> – 35,76x>1> – 32,78x>2> – 31,588x>3>0

-0,84x>1> + 1,06x>3>0; (ограничение по минимально допустимому содержанию

полезного компонента в руде);

    34,92x>1 >+ 32,78x>2> + 32,648x>3> – 35,88x>1> – 32,89x>2> – 31,694x>3>0

-0,96x>1> – 0,11x>2> + 0,954x>3>0

0,96 x>1 >+ 0,11x>2> – 0,954x>3>0; (ограничение по максимально допустимому содержанию полезного компонента в руде);

Целевая функция:

, где - цена готовой продукции (у.е. за тонну);

Z = 676800x>1 >+ 459250x>2 >+ 294660x>3>

Или в тыс. тонн:

Z = 676,8x>1> + 459,25x>2> + 294,66x>3>

Вывод:

В результате решения данной задачи было получено значение целевой функции Z = 6048,2412;

x>1 >= 6,16667 – количество составов для предприятия 1;

x>2> = 0,94654 – количество составов для предприятия 2;

x>3> = 4,88679 – количество составов для предприятия 3;

Для получения наибольшей выгоды (целевая функция стремящаяся к максимуму достигает своего экстремума) необходимо выполнение предприятиями следующего плана:

Предприятие 1 - Р(план) = 740 – y>2 >= 740 – 0 = 740 тыс. тонн,

Предприятие 2 – Р(план) = 680 – y>3> = 680 – 575,88043 = 104,11957 тыс. тонн,

Предприятие 3 – Р(план) = 600 – y>4> = 600 – 82,00002 = 517,99998 тыс. тонн.

Целочисленное линейное программирование.

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

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

В некоторых задачах целочисленные значения могут быть равны только 0 или 1, тогда такие задачи называются задачами с булевыми переменными.

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

Решение задачи ЦЛП методом отсечения:

    Решение задачи как задачи ЛП.

    Если мы получили целочисленное решение, то оно и является решением задачи ЦЛП.

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

Решение задачи ЦЛП методом ветвей и границ:

    Решаем задачу как задачу ЛП.

    Если мы получим оптимальные целочисленные решения задачи ЛП, то они являются также и оптимальными решениями задачи ЦЛП.

    Если мы не получим целочисленных решений, то целевая функция Z>1> задачи ЛП становится верхней границей оптимального значения Z задачи ЦЛП, потому что значение целевой функции Z при введении в дальнейшем новых ограничений для получения оптимальных целочисленных решений уменьшается.

    Затем производится ветвление по одному из нецелочисленных оптимальных решений задачи ЛП. Ветвление осуществляется с использованием некоторых правил по следующей схеме: если nxn+1, то 1) xn; 2) xn+1, где х – нецелочисленное оптимальное решение задачи ЛП, по которому мы осуществляем ветвление, n – ближайшее целое к х не превышающее х.

Правила ветвления:

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

    Выбирается переменная с наибольшим приоритетом по какому — либо качественному или количественному значению.

    Переменная выбирается произвольно.

Ограничения введенные при ветвлении добавляются к ограничениям задачи ЛП.

В каждой из вершин находим оптимальные решения полученных путем добавления новых ограничений задач ЛП – 2 и ЛП – 3. Если не у одной из них мы не получили целочисленных оптимальных решений, то мы выбираем ту вершину, в которой получено наибольшее значение целевой функции и производим дальнейшее ветвление. Так продолжается до получения целочисленного оптимального решения одной из задач ЛП.

Вершина называется прозондированной, если:

    Мы нашли в ней оптимальное целочисленное решение – решение задачи ЦЛП.

    В данной вершине нет оптимальных решений задачи ЛП.

    Значение Z в оптимальном решении задачи ЛП не больше текущей нижней границы.

Прочие вершины называются висящими.

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

Метод ветвей и границ.

Начальные условия берутся из решения задачи ЛП (решение см. выше).



    Вершина 1 x>1 >= 6,17 x>2> = 0,9 x>3> = 4,9 Z>1> = 6048,24

Начнем ветвление по x>1> = 6,17, тогда получаем дополнительные ограничения а) x>1> 6 (1 ветвь) б) x>2 > 7 (2 ветвь).

Решаем сначала ветвь 1. К ограничениям задачи ЛП добавляем ограничение а.

Получаем седьмым ограничением ограничение x>1> 6;

Решение:

    Вершина 2 x>1> = 6 x>2> = 1,2 x>3> = 4,8 Z>2> = 6033,7212

Мы получили одно целочисленное решение x>1> = 6, следовательно дальнейшее ветвление мы будем проводить по x>2> или x>3>.

Решаем ветвь 2. К ограничениям задачи ЛП добавляем ограничение б.

Седьмым ограничением становится ограничение x>1> 7.

Решение:


Второй строкой является ограничение задачи ЛП по максимально возможному объему руды с 2 предприятия:

120x>1 > 740 или x>1>6,16666, что противоречит введенному нами условию 6 (б) x>1> 7. Дальнейшее ветвление из вершины 3 невозможно.

Продолжим ветвление из вершины 2. Как было уже сказано выше, мы можем продолжить ветвление по x>2> или x>3>. Продолжим ветвление по x>2>. x>2> = 1,2, следовательно восьмое ограничение для 1 ветви будет x>2> 1, а для другой x>2>. Движемся сначала по ветви 1 в вершину 4.

Решение:

X
>1> = 6 x>2> = 1 x>3 > = 5 Z>4> = 5993,3501

Мы получили, что все три переменных имеют целочисленное значение,

но, чтобы данное решение являлось решением задачи ЦЛП необходимо и достаточно показать, что при ветвлении по ветви 2 в вершине 5 мы получим значение целевой функции Z>5> < Z>4>. Найдем решение в вершине 5.

Решение:

Z>5> = 5991,0396, следовательно Z>5> < Z>4>, значит в вершине 4 мы получили решение задачи ЦЛП.

Интерпретация решения с помощью блок – схемы:

x>1>=6,1

Z>1>=6048 x>2>=0,9

x>3>=4,9

x>1>6 x>1>7

x>1>=6

x>2>=1,2 Система

x>3>=4,8 несовместна


x>2>1 x>2>2

x>1>=6 x>1>=5,6

x>2>=1 x>2>=2

x>3>=5 x>3>=4

Z=5993 Z=5991

Вершина

Ограничение

№ ограничения

2

x>1>6

7

3

x>1>7

7

4

x>1> 6

x>2>1

7

8

5

x>1>6

x>2>2

7

8



Вывод:

В результате решения я получил, что целочисленное оптимальное решение получается в вершине 4, так как все значения x>1>=6, x>2>=1,x>3>=5 в этой вершине целочисленные и Z>5>(5991)<Z>4>(5993), следовательно получено оптимальное решение. Висящая вершина 5 и прозондированные 1,2,3,4.

Плановые задания:

, где P – плановое задание тыс. тонн, q – производительность состава, x – количество составов, i – номер предприятия.

Для предприятия 1:

тыс. тонн;

Для предприятия 2:

тыс. тонн;

Для предприятия 3:

тыс. тонн.

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

Задача математического программирования называется нелинейной, если нелинейны ограничения или целевая функция.

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

Разделяют задачи безусловной и условной оптимизации. Задачами безусловной оптимизации называются задачи оптимизации функции многих переменных без дополнительных ограничений. Существуют следующие методы безусловной оптимизации: покоординатного спуска, градиентные, сопряженных направлений, метод Ньютона. Задачами условной оптимизации называются задачи о оптимизации целевой функции многих переменных f(x>1>, …, x>n>) при условии, что эти переменные удовлетворяют следующим ограничениям:

q>i>(x>1>, …, x>n>) = 0,

или

d>j>(x>1>, …, x>n>) 0,

Решение задачи основывается на линейной или квадратичной аппроксимации целевой функции для определения приращений x>1>, …,x>n> на каждой итерации.

Существуют также приближенные методы решения нелинейных задач. Это методы основанные на методе кусочно-линейной аппроксимации. Точность нахождения решений зависит от количества интервалов, на которых мы находим решение линейной задачи, максимально приближенной к нелинейной. Такой метод позволяет производить расчеты с помощью симплекс-метода. Обычно в линейных моделях коэффициенты целевой функции постоянны и не зависят от значения переменных. Однако существует ряд задач, где затраты зависят от объема нелинейно. Такие задачи решаются следующим способом: решают задачу ЛП с коэффициентами целевой функции при максимальных значениях переменных. Если в решении мы получили переменные, для которых брались коэффициенты, значит задача решена. В противном случае мы изменяем коэффициенты при целевой функции на коэффициенты при вновь полученных значениях переменных и решаем полученную задачу ЛП. Так мы повторяем до тех пор, пока не будет получено на двух последующих шагах одно и то же решение.

Решение задачи нелинейного программирования.

Метод кусочно – линейной аппроксимации.

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

Составим таблицу:

№ предприятия

Коэффи-

Циент

затрат %

Количе-ство составов

Коэфф.

измене-ния затрат

Затраты на 1т у.е.

Доход

Прибыль

На 1т

у.е.

Прибыль на 1 состав

у.е.

1

2

3

4

5

6

7

8

100

6,17

1

6

11,64

5,64

676,8

70 – 100

4.31–6,16

1,4

8,4

3,24

388,8

50 – 70

3,08–4,31

1,6

9,6

2,04

244,8

30 – 50

1,85–3,08

1,7

10,2

1,44

172,8

до 30

до 1,85

1,8

10,8

0,84

100,8

100

6,18

1

7

11,175

4,175

459,25

70 – 100

4,33-6,18

1,2

8,4

2,775

305,25

50 – 70

3,09-4,33

1,4

9,8

1,375

151,25

30 – 50

1,85-3,09

1,5

10,5

0,675

74,25

до 30

до 1,85

1,7

11,9

- 0,725

- 79,75

100

5,66

1

8

10,78

2,78

294,66

70 – 100

3,96-5,66

1,3

10,4

0,38

40,28

50 – 70

2,83-3,96

1,6

12,8

- 2,02

- 214,12

30 – 50

1,7 – 2,83

1,7

13,6

- 2,82

- 298,92

до 30

до 1,7

1,9

15,2

- 4,42

- 458,52

Где доход (Д) рассчитывается по формуле:

, где

Ц – цена готовой продукции, Е – извлечение,  - содержание полезного компонента.

Прибыль (П) рассчитывается по формуле:

П = Д – З , где Д – доход, З – затраты.

Затраты (З) рассчитываются по формуле:

, где С – затраты на добычу, транспортировку и переработку, - коэффициент изменения затрат.

    Пусть x>1>, x>2>, x>3> принимают свои максимальные значения, тогда

Z>1> = 676,8x>1> + 459,25x>2> + 294,66x>3>MAX

Ограничения:

x>1> + x>2> + x>3> =12 – по количеству составов;

x>1> 6,17 - максимальный объем добычи руды с предприятия 1;

x>2> 6,18 - максимальный объем добычи руды с предприятия 2;

x>3> 5,66 - максимальный объем добычи руды с предприятия 3;

0,96x>1> + 0,11x>2> – 0,95x>3>0 – по максимально допустимому содержанию полезного компонента в руде;

-0,84x>1> + 1,06x>3>0 – по минимально допустимому содержанию

полезного компонента в руде.

Решение 1.

x>1 >= 6,17 x>2 >= 0,95 x>3>=4,88 Z>1> = 6048,24

    Так как x>1>=6,17 – максимально возможный, то коэффициент при x>1> в

целевой функции Z>2> будет равен 676, 8.

Так как x>2>=0,95; x>2> < 1,87, то коэффициент при x>2> в целевой функции Z>2> будет равнятся -79,75.

Так как x>3>=4,88; 3,96 < 4,88 <5,66, следовательно x>3> попадает в интервал 3,96 – 5,66, следовательно коэффициент при x>3> в целевой функции Z>2> будет равен 40,28.

Следовательно Z>2> = 676,8x>1> – 79,75x>2> + 40,28x>3>

Решение 2.

x>1 >= 6,17 x>2 >= 0,17 x>3> = 5,66 Z>2> = 4387,26

    Так как x>1>=6,17 – максимально возможный, то коэффициент при x>1> в

целевой функции Z>3> будет равен 676, 8.

Так как x>2>=0,17; x>2> < 1,87, то коэффициент при x>2> в целевой функции Z>3> будет равнятся -79,75.

Так как x>3>=5,66 – максимально возможный, то коэффициент при x>3> в

целевой функции Z>3> будет равен 294,68.

Следовательно Z>3> = 676,8x>1> – 79,75x>2> + 294,68x>3>

Решение 3.

x>1> = 6,166 x>2> = 0,17 x>3> = 5,66 Z>3> = 5827,16

Вывод:

Так как на третьем шаге мы получили значения переменных равных значениям переменных на втором шаге, то мы получили искомое решение задачи нелинейного программирования. Третий шаг, за счет того, что значения коэффициента при x>3> были увеличены с 40,28 до 294,68, улучшил целевую функцию Z>3> на 5827,16 – 4387,26 = 1439,9 у.е.

Плановые задания предприятиям.

, где P – плановое задание тыс. тонн, q – производительность состава, x – количество составов, i – номер предприятия.

Для предприятия 1:

тыс. тонн;

Для предприятия 2:

тыс. тонн;

Для предприятия 3:

тыс. тонн.

Аппроксимация кривой зависимости затрат от количества составов. Примеры графиков для предприятий 1 и 2.

Динамическое программирование. (ДП)

Динамическими называются задачи экономики, организации и управления, в которых необходимо распределять ресурсы на каждом этапе какого – либо промежутка (времени). Формулировка задачи ДП:

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

Иными словами из множества допустимых управлений U=(U>1>, U>2>, …, U>n>) необходимо найти оптимальное, при котором система переходит из своего начального состояния в конечное таким образом, что критерий оптимальности W достигает своего максимума.

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

В основе расчетов методом динамического программирования лежит принцип Беллмана. Он звучит:

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

Решение задачи динамического программирования.

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

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

Предприятие 1.

Количество составов

Прибыль на 1 состав

6,17

676,8

4,31 – 6,17

388,8

3,08 – 4,31

244,8

1,85 – 3,08

172,8

до 1,85

100,8

Предприятие 2.

Количество составов

Прибыль на 1 состав

6,18

459,25

4,33 – 6,18

305,25

3,09 – 4,33

151,25

1,85 – 3,09

74,25

до 1,85

-78,75

Предприятие 3.

Количество составов

Прибыль на 1 состав

5,66

294,68

3,96 – 5,66

40,28

2,83 – 3,96

-214,12

1,7 – 2,83

-298,92

до 1,7

-458,52

Количество составов,выделенных всем трем предприятиям (N), равно 14.

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

, где n – количество составов, P>n> – прибыль при этом количестве составов.

Количество составов

Предприятие 1

Предприятие 2

Предприятие 3

1

100,8

-78,15

-458,52

2

345,6

148,5

-597,94

3

518,4

222,75

-642,36

4

979,2

605

161,12

5

1944

1526,25

201,40

6

2332,8

1831,5

1768,08

Рассчитаем - максимально возможное количество составов для предприятий 1 и 2. составов. Теперь рассчитаем минимально возможное количество составов для предприятий 1 и 2, исходя из того, что максимально возможное количество составов для предприятия 3 равно = 6 составов, тогда составов. Составим таблицу выделения средств двум предприятиям (1 и 2). Здесь x - общее количество ресурсов (составов) для двух предприятий; x = x>1> + x>2>; 0 x>1> 6 – допустимое количество составов для предприятия 1; 0 x>2> 6 – допустимое количество составов для предприятия 2. Отсюда видно, что 0 x , однако количество составов для предприятия 3 не может превышать 6, следовательно x, следовательно x; 8x12. q>1>, q>2> – эффективность использования средств предприятиями 1 и 2 соответственно взятая из предыдущей таблицы. W>2> = q>1 >+ q>2> – суммарная эффективность обоих предприятий.Наибольшую суммарную эффективность для каждого значения x будем подчеркивать.

x

x>1>

X>2>

Эффективность

q>1>

q>2>

W>2>

8

2

6

345,6

1831,5

2177,1

3

5

518,4

1526,25

2044,65

4

4

979,2

605

1584,2

5

3

1944

222,75

2166,75

6

2

2332,8

148,5

2481,3

9

3

6

518,4

1831,5

2349,9

4

5

979,2

1526,25

2505,45

5

4

1944

605

2549

6

3

2332,8

222,75

2555,55

10

4

6

979,2

1831,5

2810,7

5

5

1944

1526,25

3470,25

6

4

2332,8

605

2937,8

11

5

6

1944

1831,5

3775,5

6

5

2332,8

1526,25

3859,05

12

6

6

2332,8

1831,5

4164,3

Теперь составим таблицу выделения средств всем трем предприятиям. Так как N – общее количество составов равно 14, а максимально возможное количество составов для предприятий 1 и 2 =12, то всем трем предприятиям может быть выделено 13 или 14 составов. W>3> – суммарная эффективность всех трех предприятий.

Количество

Составов

x>3>

x

Эффективность использования ресурсов

q>3>

W>2>

W>3>

13

1

12

-458,52

4164,3

3705,78

2

11

-597,94

3859,05

3261,11

3

10

-642,36

3470,25

2827,89

4

9

161,12

2555,55

2716,67

5

8

201,4

2481,3

2682,7

14

2

12

-597,94

4161,3

3563,36

3

11

-642,36

3859,05

3216,69

4

10

161,12

3470,25

3631,12

5

9

201,4

2555,55

2756,95

6

8

1768,08

2481,3

4249,38

W>3> максимальное равно 4249,38, следовательно Z = 4249,38.

x>3> = 6; x>2> = 2; x>3> = 6.

Вывод:

В результате решения задачи динамического программирования я получил, что максимальное значение целевой функции Z = = 4249,38 получается при количестве составов, выделенных 3 предприятиям N = 14, и количестве составов выделенных предприятию 3 x>3> = 6. При этом количество составов для предприятий 1 и 2 равно 8. Максимальная эффективности использования 8 составов предприятиями 1 и 2 достигается при выделении предприятию 1 - 6 составов, а предприятию 2 – 2 состава, и она равна 2481,3. Следовательно x>1> = 6, x>2> = 2, x>3> = 6, Z = 4249,38.

Плановые задания предприятиям:

, где P – плановое задание тыс. тонн, q – производительность состава, x – количество составов, i – номер предприятия.

Для предприятия 1:

тыс. тонн;

тыс. тонн;

тыс. тонн.

Графическая интерпретация решений.

    Решение задачи ЛП.

Из ограничения 1 задачи ЛП:

Выразим

Ограничения:

    x>1>6,17 , значит 12 - x>2 > - x>3> 6,17;

x>2> + x>3> 5,84

y>1> = x>2> + x>3> = 5,84

x>3> = 5,84 – x>2>;

    x>2> 6,18

y>2> = x>2> = 6,18;

    x>3> 5,66

y>3> = x>3> = 5,66;

    0,96 x>1> + 0,12 x>2> – 0,95 x>3> 0

0,96 (12 – x>2> – x>3>) + 0,12 x>2> – 0,95 x>3> 0

-0,84 x>2> – 1,9 x>3> 11,52

0,84 x>2> + 1,9 x>3> 11,52

y>4> = 0,84 x>2 >+ 1,9 x>3> = 11,52

;

    –0,84 x>1> + 1,06 x>3> 0

-0,84 (12 – x>2> – x>3>) + 1,06 x>3> 0

0,84 x>2> + 0,84 x>3> + 1,06 x>3> 10,08

0,84 x>2> + 1,9 x>3> = 10,08

;

Целевая функция:

Z = 676,8 (12 – x>2> – x>3>) + 459,25 x>2> + 294,66 x>3> = 8121,6 – 217,55 x>2> – 382,14 x>3>;

Рассмотрим, что происходит с графиком целевой функции при ее увеличении:

    Z>1> = 8000

8121,6 – 217,55 x>2> – 382,14 x>3> = 8000

-217,55 x>2> – 382,14 x>3> = 8000 – 8121,6

217,55 x>2> + 382,14 x>3> =121,6

;

X>2>

0

3

X>3>

0,32

-1,39

    Z>2> = 9000

-217,55 x>2> – 382,14 x>3> = 9000 – 8121,6

217,55 x>2> + 382,14 x>3> = – 878,4

x>2>

0

-3

x>3>

-2,3

-0,6

Мы получили, что график функции Z>2> расположен ниже чем график функции Z>1>. Однако Z>2> > Z>1> (9000 > 8000). Следовательно своего максимального значения целевая функция достигает в самой нижней точке области относительно целевой функции (в той точке, через которую график целевой функции будет проходить первым при уменьшении целевой функции). Обозначим эту точку на графике A. Координаты точки A (0,95;4,89). x>2> = 0,95; x>3> = 4,89, что соответствует решению с помощью симплекс – метода.

    Задача ЦЛП.

Максимального значения целевая функция задачи ЦЛП достигает при x>2> = 1, x>3> = 5. На графике решение задачи ЦЛП – точка B с координатами (1;5).

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

x>2> = 0,17, x>3> = 5,66. На графике точка C с координатами (0,17;5,66).

    Задача ДП.

x
>2> = 2, x>3> = 6. На графике точка D с координатами (2;6).

Трудоемкость и эффективность решения модели различными методами.

Метод

Свойство

ЛП

ЦЛП

Нелинейное

ДП

Использование

Симплекс – метода и ПК

Небольшое (1 проход)

Большое (много проходов)

Большое (много проходов)

НЕТ

Размер расчетов без ПК

Низкий (только расчет плановых заданий)

Низкий (только расчет плановых заданий)

Средний (расчет дохода, прибыли, затрат, плановых заданий)

Большой (все расчеты производятся вручную)

Размер подготовительных и промежуточных расчетов

Низкий (только ограничения)

Средний (ограничения ЛП + ветвление)

Высокий (ограничения ЛП + составление таблицы + промежуточ-ные подстановки коэффициен-тов)

Очень большой

Общее время решения

Низкое

Среднее

Среднее

Высокое

Чувствитель-ность к ограничениям по содержанию полезного компонента в руде

Есть

Есть

Есть

Нет

Использование коэффициента увеличения затрат при нагрузке

Нет

Нет

Есть

Есть

Размер целевой функции

Максимальный

6048,2412

Средний

5993,3501

Средний

5827,1611

Низкий

4249,38

Общая эффективность и приближенность условий к реальным

Низкая (не учитывается

коэффициент изменения затрат и целочислен-

ность решения)

Средняя (не учитывается коэффициент изменения затрат)

Средняя (не учитывается целочислен-ность решения)

Средняя (низкая прибыль)

О проекте.

Проект выполнен студентом второго курса факультета РПМ Московского государственного горного университета Солодовниковым Дмитрием.

Использованная литература:

    Резниченко С.С., Ашихмин А.А. Математические методы и моделирование в горной промышленности. – М.: Издательство Московского горного университета, 1997, 404 c.