Автор работы: Пользователь скрыл имя, 17 Февраля 2012 в 23:52, курсовая работа
Разработка алгоритма решения задачи по перевозке грузов, создания и поддержания требуемого уровня запасов товаров и реализовать их в виде программного продукта.
1. Введение 3
2. Постановка задачи исследования 4
2.1. Оперативная постановка задачи 4
2.2. Анализ исходных данных 4
3. Блок-схема алгоритма 10
4. Программа и контрольный вариант решения 15
4.1. Программа решения задачи 15
4.2. Контрольный вариант решения задачи 28
4.3. Схема расположения груза в оптимальном способе доставке 33
4.4. Исследование зависимостей на товары 34
5. Заключение 35
6. Библиографический список 36
C[6]:=20*(1+p/100); {stoimost perevozki polnogo 20' konteinera}
C[5]:=20*(1+p/100); {stoimost perevozki pustogo 40' konteinera}
C[7]:=24*(1+p/100); {stoimost perevozki
polnogo 40' konteinera}
for i:=1 to 3 do {Stoimost' dostavki gruza avto}
Ks[i]:=2*l*C[i];
for i:=4 to 5 do
Ks[i]:=(Ln+Lk)*(C[i]+C[i+2])+
J:=0;PR:=0;Zzak:=0;
for i:=1 to 4 do
begin
J:=J+Hhr[i]*Y[i];
PR:=PR+xa[i]*xb[i]*xc[i]*Y[i];
Zzak:=Zzak+U[i]*Y[i];
end;
for i:=1 to 5 do begin
Topt[i]:=sqrt(2*Ks[i]/J);
Tg[i]:=((A[i]*B[i]*H[i])*k)/
if Topt[i]<=Tg[i] then T[i]:=Topt[i] else T[i]:=Tg[i];
Zdoc[i]:=Ks[i]/T[i];
Zhr[i]:=T[i]*J/2;
Z[i]:=Zzak+Zdoc[i]+Zhr[i];
end;
begin clrscr;
writeln('Dannie raschetov:':45);
writeln;
writeln(' ------------------------------
writeln('| | Srok | Sostavlyayschie izderjki, Rub | |');
writeln('|
Tip |
|-----------------------------
writeln('|transportnogo| postavki, sutki | Zatrati |Logisticheskie izdergki| zatrati,|');
writeln('| sredstva |-------------------| na |-----------------------| Rub |');
writeln('| | Topt | Tg | T | zakupku | Dostavka | Hranenie | |');
writeln(' ------------------------------
for i:=1 to 5 do
begin
gotoXY(1,whereY);write('|',
gotoXY(15,whereY);write('|',
gotoXY(22,whereY);write('|',
gotoXY(29,whereY);write('|',T[
gotoXY(45,whereY);write('|',
gotoXY(57,whereY);write('|',
gotoXY(69,whereY);write('|',Z[
gotoXY(79,whereY);writeln('|')
writeln(' ------------------------------
end;
gotoXY(35,10);write('|');
gotoXY(35,12);write('|');
gotoXY(35,14);write('|',Zzak:
gotoXY(35,16);write('|');
gotoXY(35,18);write('|');
gotoXY(2,19);write('----------
readln
end;
Vig:=Z[1];
for i:=1 to 5 do
if Z[i]<=Vig
then begin Vig:=Z[i];
TipVV:=Tip[i];ZAP[1]:=T[i];
if Vig=Z[1] then begin begin Vig2:=Z[2];TipV:=Tip[2];end; for i:=3 to 5 do
if Z[i]<Vig2 then begin Vig2:=Z[i];TipV:=Tip[i];end;
begin if Vig=Z[2] then begin begin Vig2:=Z[1];TipV:=Tip[1];end; for i:=3 to 5 do
if Z[i]<Vig2 then begin Vig2:=Z[i];TipV:=Tip[i];end;
if Vig=Z[3] then begin begin Vig2:=Z[5];TipV:=Tip[5];end;
for i:=1 to 2 do if Z[i]<Vig2 then begin Vig2:=Z[i];TipV:=Tip[i];
if z[4]<Vig2 then begin Vig2:=Z[4];TipV:=Tip[4] end;end;end;
if Vig=Z[4] then begin begin Vig2:=Z[5];TipV:=Tip[5];end; for i:=1 to 3 do
if Z[i]<Vig2 then begin Vig2:=Z[i];TipV:=Tip[i];end;
if Vig=Z[5] then begin begin Vig2:=Z[1];TipV:=Tip[1];end; for i:=2 to 4 do
if Z[i]<Vig2 then begin Vig2:=Z[i];TipV:=Tip[i];end;
end;
Writeln(' Naibolee vigodnim yavlyaetsya dostavka tovara - ',TipVV);
Writeln(' Dostatochno bliskim k nemu yavlyaetsya variant dostavki - ',TipV);
Readln;
Plos:=0;
For i:=1 to 4 do
Plos:=Plos+(Y[i]*xa[i]*xb[i]/
Plos:=Plos*Pop/k;
ZAP[1]:=ZAP[1]-1; Pos[1]:=Dost*Pop;
Hr[1]:=Plos*AP/Tgod; Sum[1]:=Pos[1]+Hr[1];
for i:=2 to 10 do
begin
ZAP[i]:=ZAP[i-1]-1;
if ZAP[i]>=1 then begin
ZAP[i]:=ZAP[i];
Pos[i]:=0;
Hr[i]:=Plos*AP/Tgod;
Sum[i]:=Pos[i]+Hr[i];
end
else begin ZAP[i]:=ZAP[1]+ZAP[i]+1;
Pos[i]:=Dost*Pop;
Hr[i]:=Plos*AP/Tgod;
Sum[i]:=Pos[i]+Hr[i];
end;
end;
begin ClrScr;
writeln;
writeln(' |=============================
writeln(' | Sutki |');
writeln(' |-----------------------------
writeln(' | Zapasi,sut.vid.|');
writeln(' ==============================
writeln(' | Stoimost,
Rub.:
writeln(' |-----------------------------
writeln(' | Postavki |');
writeln(' |-----------------------------
writeln(' | Hranenie |');
writeln(' |=============================
writeln(' | Itogo |');
writeln('=====================
for i:=1 to 10 do
begin
gotoXY(i*6+15,3);write(i:4,'|'
gotoXY(i*6+14,5);write(ZAP[i]:
gotoXY(i*6+14,9);write(Pos[i]:
gotoXY(i*6+14,11);write(Hr[i]:
gotoXY(i*6+14,13);write(Sum[i]
end;
readln;
writeln;
writeln;
Post:=Tgod/Pop;
for i:=1 to 4 do
Ob[i]:=Y[i]*Pop;
Log:=0;
For i:=1 to 10 do
Log:=Log+Sum[i];
LogS:=Log/10;
Otn:=(Dost+Hran)/Zzak;
writeln(' Period popolnenia - ',Pop:3:1,' sutok');
writeln(' Kolichestvo postavok v god ',Post:0:0);
writeln(' Obem postavki:');
writeln(' ',Ob[1]:0:0,' yaschikov 1 tipa - pivo "Tuborg"');
writeln(' ',Ob[2]:0:0,' yaschikov 2 tipa - vino "Risling"');
writeln(' ',Ob[3]:0:0,' yaschikov 3 tipa - "Sovetskoe Shapanskoe" polusladkoe');
writeln(' ',Ob[4]:0:0,' poddonov (pallet) 4 tipa - pivo "Holshten"');
writeln(' Logisticheskie izderjki za pervie 10 sutok sostavlyaut ',Log:0:2,' rub.,');
writeln(' t.e. ',LogS:0:2,' rub./sut.');
writeln(' Ishodya iz vibrannogo varianta dostavki gruza ',TipVV);
writeln(' potrebnost v skladkih ploschadyah sostavit ',Plos:0:2,' m^2.');
writeln(' Dolya zatrat na podderjanie zapasov (otnoshenie logisticheskih ');
writeln(' izderjek k zatratam
po zakupke,otnesennim k sutkam) sostavyaet ',Otn:0:2,'.');
readln
end;
end.
Расстояние от пункта отправления (г. Санкт-Петербург) до пункта назначения (г. Новороссийск) равно 1800 км. От склада г. Санкт-Петербурга до железнодорожной станции равно 50 км, а от железнодорожной станции до склада Новороссийска равно 25км. Характеристики склада показаны в таблице 5.
Таблица 5
Характеристика склада | |||
Площадь склада, м2 | Арендная плата, руб./м2 | Коэффициент использования складских площадей | Процент изменения цены товара по закупке (%) |
2050 | 4050 | 0,6 | -15 |
Характеристики груза показаны в таблице 6.
Таблица 6
Характеристики груза | ||||||
Тип товара | Единица поставки | Параметры, м | Цена единицы товара по закупке у поставщика, руб./ящик; руб./паллета | Интенсивность спроса на товар, ящиков/сут.; паллета/сут. | ||
a | b | c | ||||
1 | Ящик | 0,5 | 0,6 | 0,3 | 150 | 15 |
2 | Ящик | 0,35 | 0,45 | 0,4 | 540 | 21 |
3 | Ящик | 0,3 | 0,3 | 0,3 | 500 | 10 |
4 | Паллета | 1,2 | 0,8 | 1,2 | 3150 | 9 |
Вместимость склад для каждого типа товара:
Стоимость хранения для каждой единицы товара:
Стоимость доставки грузов для каждого ТС за 1 км:
Стоимость доставки грузов для каждого транспортного средства от Санкт-Петербурга до Новороссийска:
Оптимальный период пополнения запасов для каждого транспортного средства:
Период пополнения запасов исходя из реальной грузовместимости для каждого транспортного средства:
Затраты на закупку товаров у поставщика:
Затраты по доставке товаров на склад для каждого транспортного средства:
Затраты по хранению товаров при его доставке для каждого ТС:
Суммарные затраты на поддержание запасов для каждого ТС:
Информация о работе Разработка алгоритма и программного продукта по управлению запасами склада