де m – інтенсивність потоку обслуговування :
(7),де t – час обробки однієї заготовки на верстаті.
Довжина черги обчислюється за формулою
(8),де k – кількість накопичувачів;
– стандартна ємність накопичувача.Витрати на обслуговування одного верстата обчислюємо як
(9),де
– витрати на обслуговування одного верстата – вистрати на обслуговування одного накопичувачаПідставивши формули (2) – (9) в формулу (1) ми отримали цільову функцію (10), яка зв’язала прибуток з кількістю верстатів та накопичувачів :
(10)Визначальним критерієм у даній ГВС є прибуток, який вона приносить за одну годину (П). Прибутковість даної системи буде залежати від кількості верстатів (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