12149

Моделирование работы оптового склада

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 3 Моделирование работы оптового склада Задание Имеется rмалое предприятий каждое из которых выпускает продукцию отличную друг от друга. Есть потребители их m они торгуют в розницу ежедневно закупая товары с оптового склада. Потребит

Русский

2013-04-24

419 KB

3 чел.

Лабораторная работа № 3

Моделирование работы оптового склада

Задание

Имеется r-малое предприятий каждое, из которых выпускает продукцию отличную друг от друга. Есть потребители, их m, они торгуют в розницу, ежедневно закупая товары с оптового склада. Потребитель может закупать несколько видов товара но не все, и они могут отказаться от покупок на какой то день. Задан спрос каждого потребителя. На складе к концу дня остается Сj единиц товара. Пусть l j это минимальный остаток j ого товара на конец дня. Если  то оптовый склад делает заказ предприятиям на производство Rj единиц товара, который к утру следующего дня будет изготовлен и доставлен на склад. Если , то заказа на производство не будет. И склад будет реализовывать не проданный товар. Таким образом, к следующему дню на оптовом складе находится некоторое кол-во bj товара и если, мы будем рассматривать процесс в нулевой точке, то . Необходимо построить модель данной системы и провести вычислительный эксперимент. Определить такие Rj и lj, которые обеспечивают 95% заявок потребителей

Алгоритм

Пояснение переменных

  •  - минимальное число мест на складе под j  товар, при котором еще не требуется дополнительных закупок на предприятии

  •  - кол-во j ого товара на начало дня после произведения закупок всеми потребителями в предыдущий день и выполнения заказов на производство товаров предприятиям

  •  - заказ оптового склада предприятиям на следующий день

  •   остаток j ого товара после удовлетворения всех заявок покупателей на текущий день

  •   заявки i-ого потребителя на j-й товар

  •   суммарные заявки всех потребителей на j-товар на текущий день

  •  А- суммарная заявка потребителей на все товары на текущий день

  •  А1- суммарная заявка потребителей на все виды товара с первого дня моделирования по текущий день

  •  S- текущий день моделирования

  •  G- период моделирования

  •  - кол-во j ого товара, которого не хватило для удовлетворения заявок потребителей на j-ый товар, начиная с 1-ого дня моделирования на текущий день

  •   общее число заявок потребителей на j –ый товар с первого дня моделирования по текущий день

  •  -доля j-ого товара, не выданного потребителям к общему числу заявок за весь перед моделирования

  •  H- общее кол-во неудовлетворенных заявок потребителей за весь период моделирования

  •  L- доля всех не выполненных заявок потребителей к общему числу заявок за весь период моделирования.

Листинг программы

Генерация заявок на текущий день

procedure TForm1.Button1Click(Sender: TObject);

begin

for i:=1 to m do

for j:=1 to r do

Begin

q:=random(100)-50;

if q<0 then q:=0;

stringgrid1.Cells[j,i]:=inttostr(q);

 end;

end;

Расчет текущего дня

procedure TForm1.Button2Click(Sender: TObject);

begin

try

for i:=1 to r do

begin

q:=0;

  for j:=1 to m do

  q:=q+strtoint(stringgrid1.Cells[i,j]);

stringgrid2.Cells[i-1,0]:=inttostr(q);

end;

q:=0;

for i:=0 to r-1 do

q:=q+strtoint(stringgrid2.Cells[i,0]);

edit4.Text:=inttostr(q);

for i:=0 to r-1 do

stringgrid3.Cells[i,0]:=inttostr(strtoint(stringgrid3.Cells[i,0])+strtoint(stringgrid2.Cells[i,0]));

for i:=0 to r-1 do

stringgrid5.Cells[i,0]:=inttostr(strtoint(stringgrid4.Cells[i,0])-strtoint(stringgrid2.Cells[i,0]));

for i:=0 to r-1 do

if strtoint(stringgrid5.Cells[i,0])<0 then stringgrid6.Cells[i,0]:=inttostr(strtoint(stringgrid6.Cells[i,0])+abs(strtoint(stringgrid5.Cells[i,0])));

for i:=0 to r-1 do

  begin

  if strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0]) then stringgrid7.Cells[i,0]:=inttostr(strtoint(stringgrid8.Cells[i,0])-strtoint(stringgrid5.Cells[i,0])+random(30))

  else stringgrid7.Cells[i,0]:=inttostr(0);

  end;

edit5.Text:=inttostr(strtoint(edit4.Text)+strtoint(edit5.Text));

for i:=0 to r-1 do

begin

if strtoint(stringgrid3.Cells[i,0])<>0 then w:=(strtoint(stringgrid6.Cells[i,0]))/(strtoint(stringgrid3.Cells[i,0]))

else w:=0;

stringgrid9.Cells[i,0]:=floattostrf(w,fffixed,2,4);

end;

q:=0;

for i:=0 to r-1 do

q:=q+strtoint(stringgrid6.Cells[i,0]);

edit6.Text:=inttostr(q);

w:=strtoint(edit6.Text)/strtoint(edit5.Text);

edit7.Text:=floattostr(w);

button2.Enabled:=false;

button3.Enabled:=true;

except showmessage('Проверьте корректность введенных данных');

end;

end;

Переход на следующий день

procedure TForm1.Button3Click(Sender: TObject);

begin

for i:=0 to r-1 do

 begin

 if (strtoint(stringgrid5.Cells[i,0])<0) then stringgrid4.Cells[i,0]:=stringgrid7.Cells[i,0];

 if (strtoint(stringgrid5.Cells[i,0])>=0) and (strtoint(stringgrid5.Cells[i,0])>strtoint(stringgrid8.Cells[i,0])) then stringgrid4.Cells[i,0]:=stringgrid5.Cells[i,0];

 if (strtoint(stringgrid5.Cells[i,0])>=0) and (strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0])) then stringgrid4.Cells[i,0]:=inttostr(strtoint(stringgrid5.Cells[i,0])+strtoint(stringgrid7.Cells[i,0]));

 end;

button2.Enabled:=true;

button3.Enabled:=false;

edit8.Text:=inttostr(1+strtoint(edit8.Text));

end;

Переход на G дней

procedure TForm1.Button4Click(Sender: TObject);

begin

for i:=1 to strtoint(edit1.Text) do

  begin

  button1.Click;

  button2.Click;

  button3.Click;

  end;

button1.Click;

end;

Результаты моделирования

Исходные данные:

r=10; m=5; G=20; Заявки потребителей рассчитываются по формуле q:=random(100)-50;

Тест № 1

Минимальное число мест на складе под j  товар, при котором еще не требуется дополнительных закупок на предприятии :

40, 46, 60, 44, 52, 54, 65, 48, 51, 49

Заказ оптового склада предприятиям на следующий день  рассчитывается по формуле:

for i:=0 to r-1 do

  begin

  if strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0]) then stringgrid7.Cells[i,0]:=inttostr(strtoint(stringgrid8.Cells[i,0])-strtoint(stringgrid5.Cells[i,0])+random(30))

  else stringgrid7.Cells[i,0]:=inttostr(0);

  end;

Доля всех не выполненных заявок потребителей к общему числу заявок за весь период моделирования    L=0,15969

Тест № 2

Минимальное число мест на складе под j  товар, при котором еще не требуется дополнительных закупок на предприятии :

51, 60, 83, 58, 71, 73, 92, 64, 68, 66

Заказ оптового склада предприятиям на следующий день  рассчитывается по формуле:

for i:=0 to r-1 do

  begin

  if strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0]) then stringgrid7.Cells[i,0]:=inttostr(strtoint(stringgrid8.Cells[i,0])-strtoint(stringgrid5.Cells[i,0])+random(50)+10)

  else stringgrid7.Cells[i,0]:=inttostr(0);

  end;

Доля всех не выполненных заявок потребителей к общему числу заявок за весь период моделирования   L=0,05970

Тест № 3

Минимальное число мест на складе под j  товар, при котором еще не требуется дополнительных закупок на предприятии :

61, 72, 100, 69, 85, 88, 110, 77, 82, 72

Заказ оптового склада предприятиям на следующий день  рассчитывается по формуле:

for i:=0 to r-1 do

  begin

  if strtoint(stringgrid5.Cells[i,0])<strtoint(stringgrid8.Cells[i,0]) then stringgrid7.Cells[i,0]:=inttostr(strtoint(stringgrid8.Cells[i,0])-strtoint(stringgrid5.Cells[i,0])+random(60)+20)

  else stringgrid7.Cells[i,0]:=inttostr(0);

  end;

Доля всех не выполненных заявок потребителей к общему числу заявок за весь период моделирования   L=0,02519  


 

А также другие работы, которые могут Вас заинтересовать

47895. ЗАБЕЗПЕЧЕННЯ БЕЗПЕКИ ЖИТТЄДІЯЛЬНОСТІ В ТУРИСТИЧНІЙ ІНДУСТРІЇ 100 KB
  Основний вид втрат втрата здоровя життя і матеріального майна персоналу та туристів. Безпека туристичних послуг це відсутність будьякого ризику для життя здоровя майна туристів і оточуючого природного середовища за звичних умов їх виробництва і споживання. В систему заходів із забезпечення безпеки туристів входять: запобігання ризикам для туристів пов'язаних з природними і техногенними катастрофами в туристичних центрах; попередження епідеміологічних бактеріологічних і інших медичних ризиків і дотримання відповідних...
47896. ПРИРОДА І СУТНІСТЬ ПІДПРИЄМНИЦТВА 78 KB
  Успіх у здійсненні підприємницької діяльності залежить від багатьох чинників проте однією з неодмінних умов досягнення високої результативності практично в будьякій її сфері є отримання мінімально необхідних знань уявлень про форми принципи та умови підприємницької діяльності. Умови і принципи підприємницької діяльності. Сутність і функції підприємництва Правові основи підприємницької діяльності в Україні встановлює Господарський кодекс від 16 січня 2003 року № 436IV набрав чинності з 1 січня 2004 р.
47897. ФОРМУВАННЯ І РОЗВИТОК ІСТОРИКО-ЕТНОГРАФІЧНИХ РЕГІОНІВ УКРАЇНИ 1.3 MB
  Першоначала людського життя на території сучасної України.Поява перших людей на території сучасної України Історія України бере свій початок з появи перших людей на її території. На думку сучасних українських істориків розселення прадавніх людей на території України відбувалося південнозахідним та західним шляхами.
47898. Розвиток енергетики України 259 KB
  Організація роботи робітників енергетики. Цехи допоміжного виробництва забезпечують основному виробництву необхідні умови для нормальної роботи здійснюють ремонт обладнання постачання матеріалами інструментами та пристосуванням запасними частинами різними видами енергії транспортом. Для кожного виду палива існує своя спеціальна система паливоподачи на підставі котрої організується свій режим роботи цеху. Завдання що поставлені перед майстром потребують від нього не тільки технічної підготовки але й знань економіки виробництва...
47899. Економічний аналіз 435 KB
  Зміст предмет та види економічного аналізу Зміст та предмет економічного аналізу Принципи економічного аналізу
47900. Антропологія як філософська дисципліна 384.5 KB
  Людина як проблема. Людина і все що її стосується завжди були предметом уваги з боку філософії. Кант: Що я можу знати Що я повинен робити На що я можу сподіватися Що таке людина 123 зводиться до 4 а всі науки до антропології.
47901. Аналіз використання капіталу 227.5 KB
  Обертання оборотних коштів розраховується тривалістю одного обороту в днях чи кількістю оборотів за звітній період коефіцієнт обертання Тривалість одного обороту в днях – це відношення суми середнього залишку оборотних коштів до суми одноденної виручки за період що аналізується: Z = О х t ...
47902. Проектирование районной понизительной подстанции напряжения в 35/6 кВ разных мощностей 1.64 MB
  В процессе проектирования было сделано следующее: выбрано число и мощность силовых трансформаторов, а так же схема электрических соединений как на ВН, так и на НН. На основе этого были выбраны необходимые аппаратура, токоведущие части и изоляторы в соответствии с предъявляемыми к ним требованиями.
47903. ІСТОРІЯ УКРАЇНИ 1.74 MB
  ГРИГОРЕНКО ІСТОРІЯ УКРАЇНИ КУРС ЛЕКЦІЙ Хмельницький 2011 Передмова Історія України – це наша дорогоцінна спадщина в якій акумульовано багатовіковий історичний досвід українського народу в усіх сферах життєдіяльності від доісторичних часів до сьогодення. Вивчення і грунтовне знання історії свого народу є однією з найважливіших складових формування високих патріотичних почуттів виховання високих моральних якостей громадянина України пошани і любові до своєї Батьківщини готовності до захисту її священних рубежів та примноження її матеріальних...