INITIAL X1,3400 ;Фабричный склад. 
INITIAL X2,2100 ;Момент заказа фабричного склада. 
INITIAL X3,2300 ;Размер заказа фабричного склада. 
INITIAL X$Stock1,430 ;Исходный запас 1 дистрибьютора. 
INITIAL X$Stock2,600 ;Исходный запас 2 дистрибьютора. 
INITIAL X$Stock3,1000 ;Исходный запас 1 дистрибьютора. 
INITIAL X$EOQ1,115 ;Оптимальный размер заказа 1. 
INITIAL X$EOQ2,165 ;Оптимальный размер заказа 2. 
INITIAL X$EOQ3,200 ;Оптимальный размер заказа 3. 
INITIAL X$Point1,240 ;Момент заказа 1. 
INITIAL X$Point2,430 ;Момент заказа 2. 
INITIAL X$Point3,630 ;Момент заказа 3. 
Demand1 VARIABLE ( Normal (2,64,24)) 
Demand2 VARIABLE ( Normal (3,128,32)) 
Demand3 VARIABLE ( Normal (4,192,48)) 
Total VARIABLE P1+P2+P3 
Sales TABLE X5,200,200,20 
Region_1 TABLE X$Stock1,0,40,20 
Region_2 TABLE X$Stock2,0,40,20 
Region_3 TABLE X$Stock3,0,40,20 
Factory TABLE X1,0,200,20 

* Повторный заказ с фабричного склада. 

GENERATE ,,,1,2 ;Транзакт, представляющий момент заказа. 
Backhere TEST LE X1,X2 ;Наступил момент заказа для фабричного склада? 
ADVANCE 4 ;Время доставки заказа (4 недели). 
SAVEVALUE 1+,X3 ;Запас увеличивается на размер заказа. 
TRANSFER ,Backhere ;Транзакт повторяет цикл. 

* Повторный заказ от каждого дистрибьютора 

GENERATE 1,,,1 ;Первый дистрибьютор. 
Distr1 TEST L X$Stock1,X$Point1 ;Наступил момент заказа? 
ADVANCE 1 ;Время доставки = 1 неделя. 
SAVEVALUE 1-,X$EOQ1 ;Фаб. склад отсылает заказ. 
SAVEVALUE Stock1+,X$EOQ1 ;Склад дистр-ра пополняется. 
TRANSFER ,Distr1 ;Транзакт повторяет цикл. 
GENERATE 1,,,1 ;Второй дистрибьютор. 
Distr2 TEST L X$Stock2,X$Point2 ;Наступил момент заказа? 
ADVANCE 1 ;Время доставки = 1 неделя. 
SAVEVALUE 1-,X$EOQ2 ;Фаб. склад отсылает заказ. 
SAVEVALUE Stock2+,X$EOQ2 ;Склад дистр-ра пополняется. 
TRANSFER ,Distr2 ;Транзакт повторяет цикл. 
GENERATE 1,,,1 ;Третий дистрибьютор. 
Distr3 TEST L X$Stock3,X$Point3 ;Наступил момент заказа? 
ADVANCE 1 ;Время доставки = 1 неделя. 
SAVEVALUE 1-,X$EOQ3 ;Фаб. склад отсылает заказ. 
SAVEVALUE Stock3+,X$EOQ3 ;Склад дистр-ра пополняется. 
TRANSFER ,Distr3 ;Транзакт повторяет цикл. 

* Еженедельная потребность каждого дистрибьютора 

GENERATE 1,,,,3 ;Недельная потребность. 
ASSIGN 1,V$Demand1 ;P1 = Потребность дистр. 1. 
ASSIGN 2,V$Demand2 ;P2 = Потребность дистр. 2. 
ASSIGN 3,V$Demand3 ;P3 = Потребность дистр. 3. 
SAVEVALUE Stock1-,P1 ;Недельная потребность Дистр. 1. 
SAVEVALUE Stock2-,P2 ;Недельная потребность Дистр. 2. 
SAVEVALUE Stock3-,P3 ;Недельная потребность Дистр. 3. 
SAVEVALUE 5+,V$Total ;Накапливается общая потребность. 
TABULATE Region_1 ;Записывается запас дистр. 1. 
TABULATE Region_2 ;Записывается запас дистр. 2. 
TABULATE Region_3 ;Записывается запас дистр. 3. 
TABULATE Factory ;Запас фабричного склада. 
TERMINATE 1 

* Ежемесячная запись продаж 

GENERATE 4,,,,1 ;Еженедельный транзакт. 
TABULATE Sales 
SAVEVALUE 5,0 ;Сброс Sales=0 каждый месяц. 
TERMINATE ;Транзакт завершил работу. 
START 76

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


Оценка - 1.0 (4)

2015-11-18 • Просмотров [ 1171 ]