Автор: Пользователь скрыл имя, 28 Марта 2012 в 19:51, курсовая работа
Требуется составить такой план выпуска изделий х1, х2, х3, х4 , при котором мы уложимся в имеющиеся ресурсы и суммарная прибыль от реализации изготовленных по плану изделий будет максимальна.
ЛИНЕЙНАЯ ПРОИЗВОДСТВЕННАЯ ЗАДАЧА.
СОСТАВЛЕНИЕ МОДЕЛИ НОВОЙ ПРОИЗВОДСTВЕННОЙ ПРОГРАММЫ С УЧЁТОМ ПРОПОРЦИЙ.
ФОРМУЛИРОВКА ДВОЙСТВЕННОЙ ЛИНЕЙНОЙ ЗАДАЧИ И ЕЁ РЕШЕНИЕ ДВОЙСТВЕННЫМ СИМПЛЕКСНЫМ МЕТОДОМ.
“РАСШИВКА УЗКИХ МЕСТ“ ПРОИЗВОДСТВА. ФОРМУЛИРОВКА И СОСТАВЛЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ.
ТРАНСПОРТНАЯ ЗАДАЧА.
МЕТОД ВЕТВЕЙ И ГРАНИЦ.
РЕШЕНИЕ ЗАДАЧИ РАСПРЕДЕЛЕНИЯ КАПВЛОЖЕНИЙ МЕТОДОМ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ.
ТЕОРИЯ МАТРИЧНЫХ ИГР.
Имеем:
по\пн | 24 | 20 | 31 | 40 | Ф 14 | Р |
30 | 1 1 24 0 | 2 2 6 0 | 4 2 * 2 | 2 5
-3 | 1 0
1 | P1=0 |
45 | 0 3
-3 | 1 1 14 0 | 3 3 31 0 | 1 2
-1 | 0 0
0 | P2=-1 |
54 | 0 2
-2 | 1 4
-3 | 3 3
0 | 1 1 40 0 | 0 0 14 0 | P3=-1 |
q | q1=1 | q2=0 | q3=2 | q4=0 | q5=-1 |
|
Ĉij Cij xij ij |
Cij-тарифная стоимость перевозки 1 единицы груза;
Ĉij-фактическая стоимость перевозки 1 единицы груза;
ij-условие оптимальности;
рi-платежи за единицу груза в пункте отправления;
pj- платежи за единицу груза в пункте назначения
pi + qj = Cij
Для заполненных (базисных)клеток : Ĉij=Cij
Для пустых: Xij=0
Lопорная=24*1+6*2+14*1+31*3+
Проверка на оптимальность
Т.к. не все ij 0, то мы еще не нашли оптимальное решение.
Далее выбираем пустую клетку таблицы с максимальной переплатой ij0.
Вней будет вершина цикла, а остальные должны быть в занятых клетках. Строим следующую таблицу.
по\пн | 24 | 20 | 31 | 40 | Ф 14 | Р |
30 | 1 1 24 0 | 0 2
-2 | 2 2 6 2 | 0 5
-5 | -1 0
-1 | P1=0 |
45 | 0 3
-3 | 1 1 20 0 | 3 3 25 0 | 1 2
-1 | 0 0
0 | P2=1 |
54 | 2 2
0 | 1 4
-3 | 3 3 0 0 | 1 1 40 0 | 0 0 14 0 | P3=1 |
q | q1=1 | q2=0 | q3=2 | q4=0 | q5=-1 |
|
Итак, выполняется условие оптимальности: ij 0, и мы получили оптимальный план затрат.
Lоптим.= 24*1+6*2+20*1+25*3+40*1=171
L=183-171=12
Решение задачи планирования с учётом пропорций оказалось не целочисленным, следовательно следует решить задачу методом ветвей и границ, для нахождения целочисленных решений.
P(x) = x1 + 3x2max
14x1 + 9x2 51
-6x1 + 3x2 1
x1 0, x2 0
решение:
x1 = 1.56, x2 = 3.45, P(x)max = 11.5
См. график на рисунке
P(x) = x1 + 3x2max
G1 = 14x1 + 9x2 51 G2 = 14x1 + 9x2 51
-6x1 + 3x2 1 -6x1 + 3x2 1
x1 1 x1 2
Решение: x1 = 1; x2 =7/3
P1(x)max = 8 P2(x)max = 9,6
Т.к. P1(x)max >P2(x)max
То эта задача не подходит
P(x) = x1 + 3x2max
G3 = 14x1 + 9x2 51 G4 = 14x1 + 9x2 51
-6x1 + 3x2 1 -6x1 + 3x2 1
x1 2; x2 2 x1 2; x2 3
P(x) = x1 + 3x2max
G5 = 14x1 + 9x2 51 G6 = 14x1 + 9x2 51
-6x1 + 3x2 1 -6x1 + 3x2 1
x1 =3; x2 =1 x1 =2; x2 =2
P5(x)max =6
Ответ: P(x)max = 8; x1 =2;x2 =2
Динамическое программирование - это вычислительный метод для решения задач управления определённой структуры. Данная задача с n переменными представляется как много шаговый процесс принятия решений. На каждом шаге определяется экстремум функции только от одной переменной.
Рассмотрим нелинейную задачу распределения ресурсов между предприятиями отрасли. Предположим, что указано n пунктов, где требуется построить или реконструировать предприятия одной отрасли, для чего выделено b рублей. Обозначим через fj(xj) прирост мощности или прибыли на j-том предприятии, если оно получит xj рублей капвложений. Требуется найти такое распределение (х1, х2, ..., хn) капвложений между предприятиями, которое максимизирует суммарный прирост мощности или прибыли
Z=f1(x1)+f2(x2)+...+fn(xn)
при ограничении по общей сумме капвложений
х1 + х2 +...+хn = b
причём будем считать, что все переменные xj принимают только целые значения xj =1,2,...
Функции fj(xj) мы считаем заданными, заметив, что их определение -довольно трудоёмкая экономическая задача.
Воспользуемся методом динамического программирования для решения этой задачи.
Введём параметр состояния и определим функцию состояния. За параметр состояния примем количество рублей, выделяемых нескольким предприятиям, а функцию состояния Fk() определим как максимальную прибыль на первых k предприятиях, если они вместе получат рублей. Параметр может меняться от 0 до b. Если из рублей k-ое предприятие получит Хк рублей, то каково бы ни было это значение, остальные -Хк рублей естественно распределить между предприятиями от 10-го до (к-1)-го предприятия, чтобы была получен максимальная прибыль Fk-1(-xk). Тогда прибыль k предприятий будет равна fk(xk) + Fk-1(-xk). Надо выбрать такое значение xk между 0 и , чтобы эта сумма была максимальной, и мы приходим к рекуррентному соотношению:
Fk() = max {fk(xk) + Fk-1(-xk)}
0 X
для k=2,3,....,n .Если же k=1 ,то
F1()=f1().
Рассмотрим конкретный пример. Пусть производственное объединение состоит из 4-х предприятий (k=4).Общая сумма капвложений равна 700 тыс. рублей (b=700) , выделяемые предприятиям суммы кратны 100 тыс. рублей.
Значения функций fj(xj) приведены в табл. 1.
Прежде всего заполняем табл.3. Значения f2(x2) складываем со значениями F1(-x2)=f1(-x2) и на каждой побочной диагонали находим наибольшее число, которое помечаем звёздочкой. Заполняем табл .3.
Продолжая процесс табулируем функции F3(), x3() и т.д. В табл.6 заполняем только одну диагональ для значения =700.
Таблица 1.
Xj | 0 | 100 | 200 | 300 | 400 | 500 | 600 | 700 |
f1(xj) | 0 | 75 | 90 | 100 | 108 | 113 | 115 | 117 |
f2(xj) | 0 | 85 | 100 | 111 | 118 | 124 | 129 | 132 |
f3(xj) | 0 | 42 | 58 | 71 | 80 | 89 | 95 | 100 |
f4(xj) | 0 | 28 | 45 | 66 | 78 | 90 | 102 | 113 |