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  


 

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

33509. Один день Ивана Денисовича 13.61 KB
  Рассказывается об одном дне из жизни заключённого русского крестьянина и солдата Ивана Денисовича Шухова в январе 1951 года. Один день Ивана Денисовича Солженицына привлекает художественным исследованием характера Ивана Шухова не через какоето исключительное событие лагерной жизни побег поединок со следователем смерть а через описание одного дня от подъема до отбоя. Давайте вглядимся в тот мир вещей что сложился вокруг Ивана Денисовича: белая тряпочка чтоб рот на морозе прикрывать ботинки валенки вязанка шапка ложка...
33510. Поэты советского времени 14.47 KB
  Маяковский смог писать на эти же темы но так что бы выделиться из толпы. Маяковский – выдающийся поэт футурист в каждом хлёстком слове бессмертных произведений которого – бескомпромиссность и убеждённость трагедия и сарказм. одился Владимир Маяковский 7 июля 1893 года в небольшом грузинском посёлке в семье лесничего. Маяковский ушёл из жизни в возрасте 37 лет выстрелив себе в сердце из револьвера.
33511. Лирика периода Великой Отечественной войны (основные темы, художественные особенности) 16.05 KB
  Жди меня и я вернусь Если бы нас своим могуществом. Жди меня и я вернусь Всем смертям назло – стихотворение К. Феномен Жди меня вырезаемого перепечатываемого и переписываемого посылаемого с фронта домой и из тыла – на фронт феномен стихотворения написанного в августа 1941 на чужой даче в Переделкино адресованного вполне конкретной земной но в эту минуту – далекой женщине выходит за рамки поэзии. Жди меня – молитва атеиста заговариванье судьбы хрупкий мост между жизнью и смертью и оно же – опора этого моста.
33512. Абрамов. Деревенская тематика 15.05 KB
  В повести “Алька†проблема выбора героем верного пути своего места в жизни. Алька находится в поисках своего “яâ€. Алька хочет показать себя зачастую преувеличивая истинные значения. Алька решает остаться в деревне но приехав в город за вещами теряет решительность.
33513. Анализ поэмы 13.68 KB
  Он открыл новый язык новую реальность нового героя и новый слой в словесности брежневской эпохи. Как понятно уже из заглавия книги цель путешествия героя Петушки подмосковная станция где его ждет возлюбленная. Не случайно в композиционном центре поэмы в ОреховеЗуеве описывается сон героя в котором победоносная революция овладевающая всеми винными магазинами района погибает оттого что на нее решительно никто не обращает ни малейшею внимания. Сочетание ироничности и трагичности маргинальное и интеллектуальности в фигуре главного...
33514. Метод соцреализма в литературе (идейно-тематическая нормативность, концепция личности) 15.02 KB
  Социалистический реализм художественный метод литературы и искусства представляющий собой эстетическое выражение социалистически осознанной концепции мира и человека обусловленной эпохой борьбы за установление и созидание социалистического общества. Изображение жизни в свете идеалов социализма обусловливает и содержание и основные художественноструктурные принципы искусства соцреализма.Социалистический реализм художественный метод литературы и искусства построенный на социалистической концепции мира и человека. Художник должен был...
33515. Образ Клима Ивановича Самгина 14.95 KB
  В романе нет ни одной сюжетной линии которая не была бы непосредственно связана с Самгиным. Какая бы ситуация ни изображалась в романе автора интересует поведение Самгина в данной ситуации его точка зрения его переживания. Клим Самгин является представителем русской буржуазной интеллигенции конца XIX начала XX века.
33516. Собачье сердце 13.83 KB
  В основу повести лег рискованный эксперимент. Для автора повести это было недопустимым вмешательством в естественный ход вещей последствия которого могли оказаться плачевными для всех в том числе и для самих “экспериментаторовâ€. Одним из главных героев выразителем авторских мыслей в повести становится профессор Преображенский. Новаторство же повести “Собачье сердце†не только в сатирическом и юмористическом мастерстве Булгакова но и в сложной философской концепции этого произведения.
33517. Периодизация русской литературы ХХ века 14.73 KB
  Периодизация русской литературы ХХ века. Принято считать что первый период развития русской литературы ХХ века начинается с 90х годов ХIХ века и заканчивается в 1917 году. С точки зрения собственно литературной как правильно отмечала эмигрантская критика это было прямое продолжение литературы предреволюционной. Но в ней вызревали качественно новые признаки и великий раскол на три ветви литературы произошел в начале 20х.