Автор: Пользователь скрыл имя, 06 Ноября 2011 в 19:01, курсовая работа
Цель курсовой работы - изучение задач производства и хранения, в формулировке Вагнера-Вайтина с ограниченной и с постоянной мощностью производства, и дальнейшее проведение вычислительного эксперимента по сравнению времени работы пакета Xpress-MP для каждой из рассматриваемых задач.
Введение. 3
1. Постановка задачи. 5
2. Математическая формулировка моделей. 7
2.1. Базовые формулировки задачи храниения и производства. 7
2.1.1 ЗПХ-ИПМ. 8
2.1.2 ЗПХ-НПМ. 8
3.1. Задачи производсьва и хранения в формулировки Вагнера-Вайтина. 9
3.1.1 ВВ-НПМ. 9
3.1.2 ВВ-ИПM. 11
4. Анализ результатов. 12
5. Заключение. 13
5. Список используемой литературы 14
6. Приложение 15
В данной модели минимизируется суммарная затрата хранение товара и на использование оборудования в период t.
3.1.2. Модель с неограниченной мощностью производства в формулировке Вагнера-Вайтина (ВВ–НПМ)
Рассмотрим модель с неограниченной мощностью производства ВВ-НМП. Аналогично предыдущей задачи, после ввода ограничения на цены, мы избавляемся от переменной .
Так как ht> 0 для всех t, то существует оптимальное решение, в котором запасы будут настолько низки насколько это возможно. Таким образом
.
Следовательно, для ВВ-НМП ограничение примет вид:
,
Итоговая математическая формулировка ВВ-НМП
,
,
,
,
,
где
Для
решения рассматриваемых задач
производства и хранения в формулировках
Вагнера-Вайтина использовался
Размерность | ВВ-НМП | ВВ-ИМП | ||||
Значение целевой функции | Время работы программы, (сек.) | Количество узлов, (шт.) | Значение целевой функции | Время работы программы, (сек.) | Количество узлов, (шт.) | |
5 | 22 | 0 | 1 | 37 | 0 | 9 |
10 | 47 | 0 | 1 | 65 | 0 | 19 |
15 | 54 | 0 | 1 | 85 | 0 | 27 |
20 | 68 | 0 | 1 | 112 | 0 | 37 |
50 | 184 | 0 | 1 | 268 | 0 | 93 |
100 | 382 | 1 | 1 | 497 | 3 | 4177 |
150 | 563 | 2 | 1 | 848 | 2160 | 10456 |
В первом столбце – указано размерность задачи -количество временных периодов. Во втором и пятом представлены оптимальные значения целевых функций; в третьем и шестом – время, затраченное программой на поиск оптимального решения, в четвертом и седьмом – количество узлов, полученных методом ветвей и границ при решении задач.
Проанализировав данные таблицы, нетрудно видеть, что время решения задачи с ограничением на объем производства значительно отличается от времени решения задачи без ограничения на объем, и эта разница с каждым разом увеличивается с ростом размерности.
Следовательно, можно сделать вывод, что, казалось бы, небольшое изменение ограничения задачи на объем производства существенно ее усложняет.
Подведем результат курсовой работы.
В первой части была хорошо обоснована актуальность выбранной темы и четко поставлена цель данной работы, а именно: изучение задач производства и хранения, в формулировке Вагнера-Вайтина с неограниченной и изменяющей мощностью производства, и дальнейшее проведение вычислительного эксперимента по сравнению времени работы пакета Xpress-MP для каждой из рассматриваемых задач.
Далее, рассмотрена базовая формулировка ЗПХ, на основе которой построена вся классификация задач производства и хранения. Так же был продемонстрирован переход от классической формулировки к формулировке Вагнера-Вайтина, посредством введения условия на цены. Затем по математическим формулировкам Вагнера-Вайтина для задач с изменяющим объемом производства во все рассматриваемые периоды и без ограничения на объем производства, были составлены программные коды и проведен вычислительный эксперимент. Проанализировано временя работы пакета Xpress-MP для каждой из рассматриваемых задач.
. Таким образом, на практике было показано, что изменение ограничения задачи на объем производства существенно ее усложняет т.к. время решения задачи с ограничением на объем производства значительно отличается от времени решения задачи без ограничения на объем.
5. Список используемой литературы
__________________________
www.itrp.ru
6. Приложение
Программный код для WW-C:
model ModelName
uses "mmxprs";
setrandseed(2)
declarations
n=20
d:array(1..n) of real
d1:array(1..n,1..n) of real
q:array(1..n) of real
h:array(0..n) of real
y:array(1..n) of mpvar
s:array(0..n) of mpvar
x:array(1..n) of mpvar
C: array(1..n) of real
end-declarations
forall(t in 1..n)do
d(t):=5+round(random*10)
q(t):=round(random*10)
h(t):=round(random*10)
C(t):=5+round(random*10+5)
end-do
s(0)=0
s(n)=0
forall(t in 1..n) y(t) is_binary
forall(t in 1..n, k in t..n) do
d1(k,t):=sum(u in k..t) d(u)
end-do
forall(t in 1..n,k in t..n) do
s(k-1)+sum(u in k..t)C(u)* y(u)>=d1(k,t)
end-do
forall(t in 0..n)s(t)>=0
forall(t in 1..n)x(t) = d(t)+s(t)+s(t-1)
obj:=sum(t in 0..n) h(t)*s(t)+sum(t in 1..n) q(t)*y(t)
setparam("XPRS_VERBOSE", true)
minimize(obj)
writeln('objective=', getobjval)
forall
(t in 1..n) writeln("y(",t,")=",getsol(y(
forall
(t in 0..n) writeln("s(",t,")=",getsol(s(
forall
(t in 1..n) writeln("x(",t,")=",getsol(x(
end-model
Программный код для WW-U:
model ModelName
uses "mmxprs";
setrandseed(2)
declarations
n=20
q: array (1..n) of real
h: array (0..n) of real
d: array (1..n) of real
p: array (1..n) of real
s: array (0..n) of mpvar
y: array (1..n) of mpvar
x: array (1..n) of mpvar
end-declarations
forall (t in 1..n) do
d(t):= round(random*15)
h(t):= round(random*5)
q(t):= round(random*10)
y(t) is_binary
end-do
s(0)=0
s(n)=0
forall (k in 1..n) do
forall (l in k..n) do
s(k-1)+ sum(j in k..l)(sum(t in j..l)d(t))* y(j) >= sum (t in k..l)d(t) end-do
end-do
writeln("тут вроде работаю пока...")
forall (t in 1..n) x(t)= s(t) - s(t-1) + d(t)
obj:= sum(t in 0..n) h(t)*s(t) + sum (t in 1..n) q(t)*y(t)
setparam("XPRS_VERBOSE", true)
minimize(obj)
writeln("obj=",getsol(obj))
forall(t
in 0..n | getsol(s(t))>0)writeln("s(",t,
forall(t
in 1..n | getsol(x(t))>0)writeln("x(",t,
forall(t
in 1..n | getsol(y(t))<1 and getsol(y(t))>0 ) writeln("y(",t,")=",getsol(y(
end-model