12149

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

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

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

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

Русский

2013-04-24

419 KB

4 чел.

Лабораторная работа № 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  


 

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

42768. Інформатика. Лабораторний практикум 2.9 MB
  Комплекс лабораторних робіт призначений для оволодіння і засвоєння знань студентами з дисципліни “ Інформатика та програмування ”. Дисципліну читають у двох семестрах. В першому семестрі в лабораторних роботах у студентів формуються тверді знання про загальні принципи побудови і закони функціонування обчислювальної техніки, структури програмного забезпечення сучасних комп’ютерів, операційної системи Windows, розглядаються алгоритми розв’язку математичних та інженерних задач та їх реалізація засобами алгоритмічної мови Turbo Pascal.
42770. Розрахунок фізичних властивостей вільного та супутнього вуглеводневих газів одного з родовищ України за їх компонентним складом 1.97 MB
  Процес експлуатації нафтових і газових свердловин вимагає виконання низки розрахунків фізичних властивостей компонентів, що видобуваються, які істотно залежать від термобаричних умов, за яких вони знаходяться.
42771. Технология производства и характеристики качества стального гнутого швеллера 100x80x3,0мм из стали марки Ст3пс 391.61 KB
  В наибольшей степени этим требованиям соответствуют стальные конструкции выполненные из холодногнутых профилей ХГП так как данный вид профилей обладает широкими конструктивными достоинствами: высокая точность размеров хорошее качество поверхности повышенное сопротивление различного рода нагрузкам обеспечивают преимущества холодногнутых профилей перед горячекатаными. Одной из разновидностью сортовых гнутых профилей является швеллер. Механические свойства гнутых профилей определяют на заготовке в соответствии с ГОСТ 16523[10]. На...
42772. ТРАНСПОРТНЫЙ НАЛОГ: ОБЩАЯ ХАРАКТЕРИСТИКА И ОСОБЕННОСТИ ИСЧИСЛЕНИЯ И ВЗИМАНИЯ С ФИЗИЧЕСКИХ ЛИЦ НА ТЕРРИТОРИИ ИРКУТСКОЙ ОБЛАСТИ 881.15 KB
  Налогоплательщики транспортного налога Объект налогообложения транспортного налога Налоговые ставки транспортного налога Транспортный налог является основным источником финансирования дорожной отрасли, и от своевременности его поступления напрямую зависят сроки и качество исполнения строительных программ
42773. Социальная реабилитация инвалидов и методика её осуществления 441.99 KB
  Сущность и содержание социальной реабилитации Основные цели и задачи социальной реабилитации Принципы социальной реабилитации Инвалиды составляют особую категорию населения, численность которой постоянно увеличивается. Мировым сообществом социальная защита инвалидов рассматривается как проблема первостепенной важности.
42774. Проектирование системы теплоснабжения промышленного предприятия 219.1 KB
  Определение количества теплоты на подогрев воды для горячего водоснабжения Выбор основного и вспомогательного оборудования системы транспорта теплоты Выбор основного и вспомогательного оборудования источника теплоты.Определение потребности в топливе для производства теплоты.
42775. Организация работы коктейль-бара «Малибу» 804 KB
  Целью работы является рассмотрение вновь созданного коктейль - бара на 50 посадочных мест. Моему коктейль-бару я решил дать название «Малибу», так как моим основным спонсором является «Allied Distillers Limited»
42776. Компьютерная реализация решения инженерной задачи по решению дифференциальных уравнений в частных производных 1.38 MB
  Микроэлектроника является одной из наиболее динамично развивающихся и востребованных отраслей науки и техники. Элементы современных СБИС и микрооптикоэлектромеханических систем (МОЭМС) представляют собой сложные структуры, в основу функционирования которых положены разнообразные физические эффекты. Разработка подобных элементов практически невозможна без решения уравнений математической физики, представляющих