Вибір оптимальних параметрів системи

Визначальним критерієм у даній ГВС є прибуток, який вона приносить за одну годину (П). Прибутковість даної системи буде залежати від кількості верстатів (n) та кількості заготівок в обробляємій черзі (k).

Якщо це врахувати, то формула (10) зазнає деяких змін, і ми отримаємо цільову функцію, яка залежить від двох параметрів (n, k):

Запрограмувавши дану цільову функцію (див. Додаток А), ми зможемо отримувати її значення при різних кількостях верстатів та деталей у черзі (див. Додаток Б), тобто оптимізацію даної цільової функції ми виконуємо шляхом перебору цих двох параметрів.

Дані оптимізації наведені у таблиці 1.

n

k

1 2 3 4 5  
13 604.52  626.87  628.21  626.84  624.97  
14 624.48  625.84  623.99  622.00 620.00    
15 622.35  620.99  619.00  617.00  615.00    
16 617.87   0.00   0.00  612.00 610.00    

Таблиця 1 -Таблиця значень цільової функції

 

Найефективніше система працює:

n = 13

k = 3

П = 628.21  


Висновок

Ми розробили ГВС для підприємства, що було не рентабельним. У даній роботі ми побудували ефективну ГВС. Система приносить найбільший прибуток при кількості верстатів 13 та ємності накопичувача 3 заготівка. Він є додатнім і дорівнює 628.21 грн/годину, що свідчить про прибутковість системи.



Список використаної літератури

1. Перегудов Ф.И., Тарасенко Ф.П. Введение в системный анализ: Учебное пособие для вузов – М.: Высшая школа, 1989.

2. Соломенцева Ю.М., Технологические основы ГПС – М.:Высшая школа, 2000.

3. Тимченко А.А., Основи системного аналізу та системного проектування – Київ, „Либідь”, 2003.

4. Конспект лекцій.



Додаток А

Текст програми:

 

program cursovoi;

uses crt;

const Lm=100;

T_sr=0.12;

d=7;

V_n=2;

V_v=5;

L=20;

function fact(n:integer):double;

var i:integer;

f:double;

begin

f:=1;

for i:=1 to n do

    f:=f*i;

fact:=f;

end;

function summa (n:integer; ro:real):real;

var

i: integer;

s:real;

factr: real;

begin

s:=1;

factr:=1;

for i:=1 to n do

begin

    factr:=factr*ro/i;

    s:= s+factr;

end;

summa:=s;

end;

var

n,n1,k,max_k,max_n,znach_n,znach_k,i,j:integer;

ro:real;

Scobka,max: real;

a,b,c,e,f: double;

p: array [1..100,1..100] of real;

begin

Clrscr;

ro:=Lm*T_sr;

n1:=round(ro)+1;

k:=1;

max:=1;

for k:=1 to 5 do

for n:=n1 to 25 do

begin

f:= fact(n);

Scobka:=1/(1+summa(n,ro)+(exp((n+1)*ln(ro)))/(n*f)*(1-exp(L*k*ln(ro/n))/(1-ro/n)));

P[k,n]:=d*Lm*(1-(exp((n+L*k)*ln(ro)))/(exp(L*k*ln(n))*f)*Scobka)-V_v*n-V_n*k;

inc(znach_k);

if P[k,n]>max then

begin

max:=P[k,n];

max_k:=k;

max_n:=n;

znach_k:=1;

end;

if (znach_k=3) then break;

end;

write(' k');

for i:=1 to max_k+3 do

write(i:7);

writeln;

write('n ');

for i:=n1 to 25 do

begin

if i=n1 then write(n1:3,' ')

else write((i):5,' ');

for j:=1 to max_k+3 do

write(p[j,i]:5:2,' ');

writeln;

end;

writeln;

writeln('max znach = ', max:5:2);

writeln('n = ',max_n,' k= ',max_k);

readln;

end.

 



Додаток Б

Результати роботи:

 

 

k 1 2 3 4 5 6

n 13 604.52 626.87 628.21 626.84 624.97 0.00

14 624.48 625.84 623.99 622.00 620.00 0.00

15 622.35 620.99 619.00 617.00 615.00 0.00

16 617.87 0.00 0.00 612.00 610.00 0.00

17 0.00 0.00 0.00 607.00  605.00 0.00

18 0.00 0.00 0.00 602.00 600.00 0.00

19 0.00 0.00 0.00 597.00 595.00 0.00

20 0.00 0.00 0.00 592.00 590.00 0.00

21 0.00 0.00 0.00 587.00 585.00 0.00

22 0.00 0.00 0.00 582.00 580.00 0.00

23 0.00 0.00 0.00 577.00 575.00 0.00

24 0.00 0.00 0.00 572.00 570.00 0.00

25 0.00 0.00 0.00 567.00 565.00 0.00

 

max znach = 628.21

n = 13 k= 3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: