Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.3.Maksymalizacjazyskuprzylimitachczasupracymaszyn
25
symbolizującewytwarzaneilościwyrobówAiB,trzymaszyny,M1,M2,M3,realizujące
obróbkękaskadowoorazwyjściegotowychproduktów.
Samouruchomienieprzedstawionegomodeluwśrodowiskuprogramuspowoduje
wizualizacjęcałegoprocesu,ajegodziałaniebędzietrwałodochwiliprzerwaniaprzez
użytkownika.Ideąeksperymentujestznalezieniestrukturyasortymentowejzapewniającej
największezyskidlawybranychprzezdecydentówprzedsiębiorstwascenariuszyproduk-
cji.Wtymcelunależywprowadzićwymaganelimityczasupracymaszyn,atakżenie-
zbędnyczasprzeznaczonynaobróbkęjednostkiwyrobu.Ograniczeniatezrealizowano
przezzaprogramowanieodpowiedniejprocedurysterującejdlamaszynyM1wzakładce
TriggersðOnEntry.
Poniżejprzedstawionoprzykładowykodprogramu(wktórymuwzględnionoodchy-
leniastandardowe)dlaproceduryrealizującejwarunkizadaniaztab.5.DlamaszynyM1
należygowprowadzićwzakładceTriggersðOnEntry:
/*ZuzycieczasunajednostkewyrobuI*/
if(getitemtype(item)==1){
inc(gettablecell("Czas",1,1),normal(3,1,0));
inc(gettablecell("Czas",1,2),normal(1,0.5,0));
inc(gettablecell("Czas",1,3),normal(5,2,0));
}else{
/*ZuzycieczasunajednostkewyrobuII*/
inc(gettablecell("Czas",1,1),normal(1,0.5,0));
inc(gettablecell("Czas",1,2),normal(1,0.5,0));
inc(gettablecell("Czas",1,3),normal(8,2,0));
}
/*LimityczasupracymaszynM1,M2,M3*/
if(gettablenum("Czas",1,1)>=33000)
{closeinput(current);}
if(gettablenum("Czas",1,2)>=13000)
{closeinput(current);}
if(gettablenum("Czas",1,3)>=80000)
{closeinput(current);}
Kodźródłowyopisówczasupracymaszynztab.4będzietakisamzwyjątkiemroz-
kładówstatystycznych,którenależyusunąć,awartościzastąpićliczbamicałkowitymi.
Trzeciparametrwfunkcjirozkładustatystycznegojestrówny0,np.:normal(3,1,0),co
oznacza,żekażdamaszynakorzystazodrębnegostrumienialiczblosowych.Otrzymuje
siębardziejprecyzyjnewynikiniżwtedy,kiedystrumieńliczblosowychjestwspólnydla
wszystkichmaszyn.Szczegółoweinstrukcjedotycząceposługiwaniasięoprogramowaniem
możnaznaleźćwliteraturzelubwpomocyużytkownika.Należywspomnieć,żewusta-
wieniachwszystkichmaszynwzakładceProcessorparametrProcessTimeustawionona
zero(domyślniejest10sekund).WnaszymprzypadkuparametrProcessTime,czyliczas
obróbki,jestzliczanywtabeliglobalnejCzaszapomocąkoduprogramuzaimplemento-
wanegowpierwszejmaszynie.