реферат, рефераты скачать
 

Курсовая: Исследование операций


Курсовая: Исследование операций

Московский государственный Горный университет Курсовой проект по исследованию операций. Решение задачи методами линейного, целочисленного, нелинейного и динамического программирования. Выполнил студент группы ПМ – 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) Первый канонический вид: a11x1+a12x2+.+a1jxj+.+a1nxnКурсовая: Исследование операций b1 a21x1+a22x2+.+a2jxj+.+a2nxnКурсовая: Исследование операций b2 .............. ai1x1 +ai2x2+.+aijxj +.+ ainxnКурсовая: Исследование операций bi ............... am1x1+am2x2+.+amjxj+.+amnxnКурсовая: Исследование операций bn xjКурсовая: Исследование операций 0; j=1,n; i=1,m; Z=C1x1+C2x2+.+Cjxj+.+CnxnКурсовая: Исследование операций max (min); 2) Второй канонический вид: a11x1+a12x2+.+a1jxj+.+a1nxn+y1=b1 a21x1+a22x2+.+a2jxj+.+a2nxn+y2=b2 ............... ai1x1 +ai2x2+.+aijxj +.+ ainxn+yi=bi ................ am1x1+am2x2+.+amjxj+.+amnxn+ym=bn xjКурсовая: Исследование операций 0; j=1,n; i=1,m; Z=C1x1+C2x2+.+Cjxj+.+CnxnКурсовая: Исследование операций 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
x1, x2, x3 – количество составов выделенных соответственно предприятиям 1, 2 и 3. Ограничения: · По количеству составов: Курсовая: Исследование операций , где n – количество предприятий, N – количество составов. 1. x1 + x2 + x3Курсовая: Исследование операций 12 · По максимальному объему добычи руды с каждого из предприятий: Курсовая: Исследование операций , где Курсовая: Исследование операций 2. 120x1 Курсовая: Исследование операций 740 или x1Курсовая: Исследование операций 6,16666 (для предприятия 1); 3. 110x2 Курсовая: Исследование операций 680 или x2Курсовая: Исследование операций 6,18181 (для предприятия 2); 4. 106x3 Курсовая: Исследование операций 600 или x3 Курсовая: Исследование операций 5,6603 (для предприятия 3). · По содержанию полезного компонента в руде: по формуле: Курсовая: Исследование операций где amin – минимально допустимое содержание полезного компонента в руде, amax – максимально допустимое содержание полезного компонента в руде, ai – содержание полезного компонента в руде i – того предприятия, qi – производительность состава i – того предприятия, имеем: Курсовая: Исследование операций Курсовая: Исследование операций Курсовая: Исследование операций Курсовая: Исследование операций Упростим неравенства 5, 6: 5. 34,92x1 + 32,78x2 + 32,648x3 – 35,76x1 – 32,78x2 – 31,588x3Курсовая: Исследование операций 0 -0,84x1 + 1,06x3Курсовая: Исследование операций 0; (ограничение по минимально допустимому содержанию полезного компонента в руде); 6. 34,92x1 + 32,78x2 + 32,648x3 – 35,88x1 – 32,89x2 – 31,694x3Курсовая: Исследование операций 0 -0,96x1 – 0,11x2 + 0,954x3Курсовая: Исследование операций 0 0,96 x1 + 0,11x2 – 0,954x3Курсовая: Исследование операций 0; (ограничение по максимально допустимому содержанию полезного компонента в руде); Целевая функция: Курсовая: Исследование операций Курсовая: Исследование операций , где Курсовая: Исследование операций - цена готовой продукции (у.е. за тонну); Курсовая: Исследование операций Курсовая: Исследование операций Z = 676800x1 + 459250x2 + 294660x3Курсовая: Исследование операций Или в тыс. тонн: Z = 676,8x1 + 459,25x2 + 294,66x3Курсовая: Исследование операций Курсовая: Исследование операций Вывод: В результате решения данной задачи было получено значение целевой функции Z = 6048,2412; x1 = 6,16667 – количество составов для предприятия 1; x2 = 0,94654 – количество составов для предприятия 2; x3 = 4,88679 – количество составов для предприятия 3; Для получения наибольшей выгоды (целевая функция стремящаяся к максимуму достигает своего экстремума) необходимо выполнение предприятиями следующего плана: Предприятие 1 - Р(план) = 740 – y2 = 740 – 0 = 740 тыс. тонн, Предприятие 2 – Р(план) = 680 – y3 = 680 – 575,88043 = 104,11957 тыс. тонн, Предприятие 3 – Р(план) = 600 – y4 = 600 – 82,00002 = 517,99998 тыс. тонн. Целочисленное линейное программирование. При решении некоторых задач линейного программирования бывает необходимо получить целочисленное решение, которое находится методами целочисленного линейного программирования. Задача целочисленного линейного программирования это задача, где некоторые или все переменные должны принимать строго целочисленные значения, а целевая функция и ограничения – линейные. В некоторых задачах целочисленные значения могут быть равны только 0 или 1, тогда такие задачи называются задачами с булевыми переменными. Задачу целочисленного линейного программирования можно решить как задачу линейного программирования, а затем округлить полученное решение. Однако такой способ допустим только при условии, что значения переменных настолько большие, что погрешностью, вызываемой округлением можно пренебречь. Если же в результате решения переменная принимает малое значение, то ее округление может привести к очень далекому от оптимального решения. Применяются два способа решения задач ЦЛП – метод отсечений и метод ветвей и границ. Решение задачи ЦЛП методом отсечения: 1. Решение задачи как задачи ЛП. 2. Если мы получили целочисленное решение, то оно и является решением задачи ЦЛП. 3. Если мы получаем нецелочисленное решение, то мы к системе ограничений задачи ЛП прибавляем такое ограничение, что полученное нецелочисленное оптимальное решение не может содержаться во множестве допустимых решений и, таким образом, формируем новую задачу ЛП и решаем ее. Цикл повторяется до тех пор пока не будет получено целочисленное решение (решение задачи ЦЛП (если оно существует)). Решение задачи ЦЛП методом ветвей и границ: 1. Решаем задачу как задачу ЛП. 2. Если мы получим оптимальные целочисленные решения задачи ЛП, то они являются также и оптимальными решениями задачи ЦЛП. 3. Если мы не получим целочисленных решений, то целевая функция Z1 задачи ЛП становится верхней границей оптимального значения Z задачи ЦЛП, потому что значение целевой функции Z при введении в дальнейшем новых ограничений для получения оптимальных целочисленных решений уменьшается. 4. Затем производится ветвление по одному из нецелочисленных оптимальных решений задачи ЛП. Ветвление осуществляется с использованием некоторых правил по следующей схеме: если nКурсовая: Исследование операций xКурсовая: Исследование операций n+1, то 1) xКурсовая: Исследование операций n; 2) xКурсовая: Исследование операций n+1, где х – нецелочисленное оптимальное решение задачи ЛП, по которому мы осуществляем ветвление, n – ближайшее целое к х не превышающее х. Правила ветвления: 1) Выбирается переменная, у которой дробная часть наиболее близка к 0,5. 2) Выбирается переменная с наибольшим приоритетом по какому — либо качественному или количественному значению. 3) Переменная выбирается произвольно. Ограничения введенные при ветвлении добавляются к ограничениям задачи ЛП. В каждой из вершин находим оптимальные решения полученных путем добавления новых ограничений задач ЛП – 2 и ЛП – 3. Если не у одной из них мы не получили целочисленных оптимальных решений, то мы выбираем ту вершину, в которой получено наибольшее значение целевой функции и производим дальнейшее ветвление. Так продолжается до получения целочисленного оптимального решения одной из задач ЛП. Вершина называется прозондированной, если: 1) Мы нашли в ней оптимальное целочисленное решение – решение задачи ЦЛП. 2) В данной вершине нет оптимальных решений задачи ЛП. 3) Значение Z в оптимальном решении задачи ЛП не больше текущей нижней границы. Прочие вершины называются висящими. Решение задачи методом целочисленного линейного программирования. Метод ветвей и границ. Начальные условия берутся из решения задачи ЛП (решение см. выше). Курсовая: Исследование операций 1. Вершина 1 x1 = 6,17 x2 = 0,9 x3 = 4,9 Z1 = 6048,24 Начнем ветвление по x1 = 6,17, тогда получаем дополнительные ограничения а) x1 Курсовая: Исследование операций 6 (1 ветвь) б) x2 Курсовая: Исследование операций 7 (2 ветвь). Решаем сначала ветвь 1. К ограничениям задачи ЛП добавляем ограничение а. Получаем седьмым ограничением ограничение x1 Курсовая: Исследование операций 6; Решение: Курсовая: Исследование операций 2. Вершина 2 x1 = 6 x2 = 1,2 x3 = 4,8 Z2 = 6033,7212 Мы получили одно целочисленное решение x1 = 6, следовательно дальнейшее ветвление мы будем проводить по x2 или x3. Решаем ветвь 2. К ограничениям задачи ЛП добавляем ограничение б. Седьмым ограничением становится ограничение x1 Курсовая: Исследование операций 7. Решение: Курсовая: Исследование операций Второй строкой является ограничение задачи ЛП по максимально возможному объему руды с 2 предприятия: 120x1 Курсовая: Исследование операций 740 или x1Курсовая: Исследование операций 6,16666, что противоречит введенному нами условию 6 (б) x1 Курсовая: Исследование операций 7. Дальнейшее ветвление из вершины 3 невозможно. Продолжим ветвление из вершины 2. Как было уже сказано выше, мы можем продолжить ветвление по x2 или x3. Продолжим ветвление по x2 . x2 = 1,2, следовательно восьмое ограничение для 1 ветви будет x 2 Курсовая: Исследование операций 1, а для другой x2Курсовая: Исследование операций . Движемся сначала по ветви 1 в вершину 4. Решение: Курсовая: Исследование операций X1 = 6 x2 = 1 x3 = 5 Z4 = 5993,3501 Мы получили, что все три переменных имеют целочисленное значение, но, чтобы данное решение являлось решением задачи ЦЛП необходимо и достаточно показать, что при ветвлении по ветви 2 в вершине 5 мы получим значение целевой функции Z5 < Z4. Найдем решение в вершине 5. Решение: Курсовая: Исследование операций Z5 = 5991,0396, следовательно Z5 < Z4, значит в вершине 4 мы получили решение задачи ЦЛП. Интерпретация решения с помощью блок – схемы: Овал:   1 x1=6,1 Z1=6048 x2=0,9 x3=4,9 Курсовая: Исследование операций Курсовая: Исследование операций x1Курсовая: Исследование операций 6 x1Курсовая: Исследование операций 7 Овал:   3Овал:   2 x1=6 x2=1,2 Система x3=4,8 несовместна
Курсовая: Исследование операций Курсовая: Исследование операций
x2Курсовая: Исследование операций 1 x2Курсовая: Исследование операций 2 Овал:   4Овал:   5 x1=6 x1=5,6 x2=1 x2=2 x3=5 x3=4 Z=5993 Z=5991
Вершина Ограничение № ограничения
2

x1Курсовая: Исследование операций 6

7
3

x1Курсовая: Исследование операций 7

7
4

x1Курсовая: Исследование операций 6

x2Курсовая: Исследование операций 1

7

8

5

x1Курсовая: Исследование операций 6

x2Курсовая: Исследование операций 2

7

8

Страницы: 1, 2


ИНТЕРЕСНОЕ



© 2009 Все права защищены.