Теория Принятия Решения
ГОСУДАРСТВЕННОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ГОРНЫЙ
УНИВЕРСИТЕТ»
КАФЕДРА
АСУ
КУРСОВАЯ РАБОТА
По дисциплине
«Теория
принятия решений»
Выполнил: ст. гр. АС-В-08
Москва
2011 год
ОГЛАВЛЕНИЕ:
- Задание на курсовую работу…………………………………………………….-3-
-
Задача линейного программирования……………………………………
……-4- - Физическая интерпретация задачи……………………………………………..-4-
- Краткое описание метода решения……………………………………………..-4-
-
Понятие математического программирования…………………………………-
4- - Понятие линейного программирования. Виды задач ЗЛП………………….....-5-
- Постановка ЗЛП и исследования их структуры………………………………...-6-
- Оптимальное распределение взаимозаменяемых ресурсов……………………-7-
- Задача о
смесях………………………………………………………………
……-8- - Задача о
раскрое материала………………………………………………………
-9- -
Форма записи ЗЛП……………………………………………………………….-
10- - Решение записи ЗЛП симплекс методом……………………………………….-11-
- Блок схема алгоритма решения задачи…………………………………………-14-
-
Решение задачи………………………………………………………………
…..-15- -
Задача динамического программирования……………………………………
.-17- - Физическая интерпретация задачи……………………………………………...-17-
-
Понятие динамического программирования………………………………….
.-17- -
Решение……………………………………………………………
……………...-19-
ЗАДАНИЕ
НА КУРСОВУЮ РАБОТУ
5.37. Задача
линейного программирования
min Z=3x1+x2
-4x1+x2 ≤ 29
3x1-x2 ≤ 15
5x1+x2 ≥ 38
x1,x2
≥ 0, целые.
3.7. Задача
динамического программирования
0 0 0 0
100 30 50 40
200 50 80 50
300 90 90 110
400 110 150 120
500 170 190 180
600
180 210 220
1.17. Решение
задачи методом Гомари
Z=4x1+2x2+5x3+8x4
x1+2x2+4x3+8x4 ≤ 24
3x1+5x2+x3+ ≤ 12
6x1+ +3x3+x4 ≤ 35
xj
≥0
Получил: ст.гр. АС-В-08
ЗАДАЧА
ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ.
1.Физическая
интерпретация задачи.
При производстве двух видов изделий (x1, x2), указаны планы производства изделий (А1, А2, А3), норма затраченного и общее количество сырья. Нужно определить оптимальный план производства изделий.
| ПЛАН | Нормы расходов сырья | Общее количество сырья | |
| x1 | x2 | ||
| А1 | -4 | 1 | 29 |
| А2 | 3 | -1 | 15 |
| А3 | 5 | 1 | 38 |
| Норма затраченного времени | 3 | 1 | |
Таблица 1.1
2.
КРАТКОЕ ОПИСАНИЕ
МЕТОДА РЕШЕНИЯ
2.1
Понятие математического
программирования
Математическое программирование – это математическая дисциплина, в которой разрабатываются методы отыскания экстремальных значений целевой функции среди множества ее возможных значений, определяемых ограничениями.
Наличие ограничений делает задачи математического программирования принципиально отличными от классических задач математического анализа по отысканию экстремальных значений функции. Методы математического анализа для поиска экстремума функции в задачах математического программирования оказываются непригодными.
Для решения задач математическ
Математическое программирования можно рассматривать как совокупность самостоятельных разделов, занимающихся изучением и разработкой методов решения определенных классов задач.
В зависимости от свойств целевой функции и функции ограничений все задачи математического программирования делятся на два основных класса:
- Задачи линейного программирования;
- Задачи нелинейного программирования.
Если целевая функция и функции ограничений – линейные функции, то
соответствующая
задача поиска экстремума является задачей
линейного программирования. Если хотя
бы одна из указанных функций нелинейна,
то соответствующая задача поиска экстремума
является задачей нелинейного программирования.
1.2
Понятие линейного
программирования.
Виды задач линейного
программирования
Линейное программирование (ЛП) – один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого и начала развиваться сама дисциплина «математическое программирование». Термин «программирование» в названии дисциплины ничего общего с термином «программирование (т.е. составление программы) для ЭВМ» не имеет, т.к. дисциплина «линейное программирование» возникло еще до того времени, когда ЭВМ стали широко применяться для решения математических, инженерных, экономических и других задач.
Термин «линейное программирование» возник в результате неточного перевода английского «linear programming». Одно из значений слова «programming» - составление планов, планирование. Следовательно, правильным переводом английского «linear programming» было бы не «линейное программирование», а «линейное планирование», что более точно отражают содержание дисциплины. Однако, термины линейное программирование, нелинейное программирование, математическое программирование и т.д. в нашей литературе стали общепринятыми и поэтому будут сохранены.
И так, линейное программирование возникло после второй мировой войны и стало быстро развиваться, привлекая внимание математиков, экономистов, инженеров благодаря возможности широкого практического применения, а так же математической стройности.
Можно сказать, что линейное программирование применимо для решения математических моделей тех процессов и систем, в основу которых может быть положена гипотеза линейного представления реального мира.
Линейное программирование применяется при решении экономических задач, в таких задачах как управление и планирование производства; в задачах определения оптимального размещения оборудования на морских судах, в цехах; задачах определения оптимального плана перевозок груза (транспортная задача); в задачах оптимального распределения кадров и т.д..
Задача линейного программирования (ЛП), как уже ясно из сказанного выше, состоит в нахождении минимума (или максимума) линейной функции при линейных ограничениях.
Общая форма задачи имеет вид: найти min cx при условиях
aλx – bi ≥ 0, i ϵ I1
aλx – bi = 0, i ϵ I2
xλ ≥ 0, j ϵ J1,
где
I1 U I2 = {1,…..,m}, I1 U I2 = Ø, J1 ᴄ {1,……,n}, x= (x1,….., xn)T,
C= (c1,……,cn), ai = (ai1,……, ain), i=1,……m.
Здесь и далее нам удобнее считать с и ai вектор – строками, а х и
b = (bi ,…..,bm)T – вектор столбцами.
Наряду с общей формой широко
используются также
J1 ={1,……,n}, т.е. все переменные в любом допустимом решение задачи должны принимать неотрицательные значения (такие переменные принято называть неотрицательные в отличии от так называемых свободных переменных, на область значений которых подобные ограничение не накладывается). Отличие же между этими формами состоит в том, что в одном случае I2 = 0, а в другом I1 = 0.
Задача ЛП в канонической
w = cx – min
Ax = b
x ≥ 0
Задача ЛП в стандартной форме
w = cx – min
Ax = b
x ≥ 0
В обоих случаях А есть матрица размерности m х n, i-я строка которой совпадает с вектором аi.
Задача ЛП в общей форме
сводится (в определенном смысле)
к задаче ЛП в канонической
(стандартной) форме. Под этим
понимается существование
2.3
Постановка задач
линейного программирования
и исследование
их структуры.
Большинство задач, решаемых
Максимизировать F(x1, x2,…. xn) при ограничениях
g1(x1, x2,…. xn) ≤ b1;
g2(x1, x2,…. xn) ≤ b2;
…. …. …. ….
gm(x1, x2,…. xn) ≤ bm;
где f(x1, x2,…. xn) – целевая функция, или критерий эффективности (например, прибыль от производства каких-либо видов продукции, стоимость перевозок и т.п.); X={ x1,…. Xn} – варьируемые параметры; g1(x), . , gm(x) – функции которые задают ограничения на имеющиеся ресурсы.
Среди разных разделов
Несмотря на требование линейности функций критериев и ограничений, в рамки линейного программирования попадают многочисленные задачи распределения ресурсов, управления запасами, сетевого и календарного планирования, транспортные задачи и прочие.
Рассмотрим некоторые из них.
Определение оптимального
Обозначим количество единиц k-го вида изделий, выпускаемых предприятием, через xk, k=1…k. Тогда математическая модель этой задачи будет иметь такой вид:
Максимизировать (3.1)
При ограничениях (3.2)
Кроме ограничений на ресурсы (3.2) в эту модель можно ввести дополнительные ограничения на планируемый уровень выпуска продукции xj ≥ xj0,
xi
: xj : xk = bi
: bj : bk для всех i,j,k и т.д.
2.3.1. Оптимальное распределение взаимозаменяемых ресурсов.
Имеются m видов взаимозаменяемых ресурсов a1, a2, ….,am, используемых при выполнении n различных работ (задач). Объемы работ, которые должны быть выполнены составляют b1, b2, ….,bi, bn, единиц. Заданы числа λij, указывающие, сколько единиц j-й работы можно получить из единицы i-го ресурса, а так же
Cij – затраты на производство j-й работы из единицы i-го ресурса. Требуется распределить ресурсы по работам таким образом, чтобы суммарная эффективность выполненных работ была максимальной ( или суммарные затраты – минимальными ).
Данная задача называется
Математическая модель
Минимизировать
при ограничениях
Ограничение (3.4) означает, что план всех работ должен быть выполнен полностью, а (3.5) означает, что ресурсы должны быть израсходованы целиком.
Примером этой задачи может
быть задача о распределении
самолетов по авиалиниям.
2.3.2.
Задача о смесях.
Имеется р – компонентов, при
сочетании которых в разных
пропорциях получают разные
Предположим что ak зависит от aik линейно, то есть если смесь состоит из х1 единиц первого компонента х2 единиц второго компонента и т.д., то
Задано р-величин Сi характеризующих стоимость, массу или калорийность единицы i-го компонента, и q величин bk, указывающих минимально необходимое процентное содержание k-го вещества в смеси. Обозначим через х1,х2,….,хр значение компонента р-го вида, входящего в состав смеси.
Математическая
модель этой задачи имеет
минимизировать
при ограничении
Ограничения (3.7) означает, что процентное содержание k-го веществав единицы смеси должно быть не меньше bk.
К этой же модели принадлежит
так же задача определения
оптимального рациона кормления скота.
2.3.3.
Задача о раскрое материалов.
Пусть поступает в раскрой m различных материалов. Требуется изготовить из них k разных комплектующих изделий (комплектов) в количествах, пропорциональных величинам b1,b2,….,bk (условия комплектности). Пусть каждую единицу j-го материала j=1,….,m можно раскроить n различными способами, так что при использовании i-го способа раскроя, i=1,…,n получим aij едениц k-го изделия. Нужно определить такой план раскроя материалов, обеспечивающий максимальное количество комплектов, если имеющийся запас j-го материала составляет aj единиц.
Обозначим через хij количество единиц j-го материала, раскраиваемых i-ым способом, а через х – общее количество изготавливаемых комплектов.
Математическая модель задачи имеет такой вид:
максимизировать х
при условиях
Условие (3.9) означает ограничение на запас j-го материала, а (3.10) – условие комплектности.
Оптимальные балансовые модели. Рассмотрим n отраслевую балансовую модель с постоянными технологическими коэффициентами, задаваемыми матрицей затрат А= , где aij затраты продуктов i-ой отрасли на производство единицы продукции j-ой отрасли. Производственные мощности i-ой отрасли ограничивают ее валовой выпуск величиной di, и пусть цена конечного продукта i-ой отрасли составляет ci единиц.
Нужно определить оптимальный
валовой выпуск продукции
Обозначим вектор валовой
Между векторами x и y существует следующая связь:
x=Ax+y,
где Ax – продукт, расходуемый на потребление. Отсюда
y=x[E-A], x= [E-A]-1y
Математическая модель этой задачи имеет вид:
максимизировать сТу
при условиях
x=[E-A]-1y<d, y>0;
Кроме того в этой задаче
можно дополнительно
а) y1;y2;….;yn=b1;b2;…;bn – условие комплектности;
б) - условие ограниченности выпуска конечного продукта.
2.4.
Форма записи ЗЛП.
Задачу линейного программирования можно сформулировать так:
максимизировать (3.11)
при условиях
Ограничения 3.13 называют условиями
неотрицательности переменных. В
рассматриваемом случае все
Иногда они могут быть смешанными, то есть неравенства и равенства:
Если все ограничения задачи ЛП имеют вид строгих равенств
то данная форма записи называется канонической.
В матричной форме задача ЛП
записывается следующим
максимизировать
сТх
при
ограничениях
где А – матрица ограничений с размером ( m x n); bm*1 – вектор – столбец свободных членов;xn*1 – вектор переменных; с=[c1.c2……cn] – вектор (строка) коэффициентов целевой функции.
В векторной форме ограничения (3.14) записывают так:
Допустимым множеством решения задачи 3,11-3,13 называется множество R(х) всех векторов х, удовлетворяющих условиям (3.12) и (3.13)
Множество R(х) представляет собой выпуклое многогранное множество или выпуклый многогранник.
Решение х0 называется оптимальным, если оно удовлетворяет условию
сТх0> сТх, для всех x принадлежащих R(x).
Поскольку поиск min (fx) эквивалентен
поиску ax[-f(x)], то задачу ЛП всегда можно
свести к эквивалентной задаче максимизации.
2.5.
Решение задач линейного
программирования симплекс-методом.
Симплекс метод, известный так же под названием метода последовательного улучшения плана, впервые разработал Г.Данциг в 1947г. Этот метод позволяет переходить от одного допустимого базисного решения к другому, причем так, что значения целевой функции непрерывно возрастают. В результате оптимальное решение находят за конечное число шагов.
Алгоритмы симплекс метода так
же позволяю установить
Запишем ограничения задачи ЛП в таком виде:
Пусть А1,…..,Аm – множество линейно независимых векторов.
Тогда уравнение
(4.1)
определяет базисное решение х1,х2,….,хm
Предположим что это решение допустимо, то есть . Базис {A1,Am} образует m мерное пространство, а потому каждый из векторов Am+1,..,Am+n единственным образом выражается через базис. Если А не входит в базис, то