Автор работы: Пользователь скрыл имя, 23 Января 2011 в 23:32, курсовая работа
В даній роботі розроблено передескізний проект гнучкої виробничої системи, а саме, визначено оптимальну кількість верстатів і накопичувачів, яка забезпечує максимальний прибуток при заданих початкових умовах.
Вступ ……………………………………………………………. 5
1. Опис ГВС та постановка задачі …………………………...…….. 6
1. Опис ГВС ……………………………………………… 6
2. Постановка задачі ……………………………………….. 9
2. Декомпозиція, агрегування та побудова математичної моделі ГВС 10
1. Декомпозиція та агрегування ГВС …………………………. 10
2. Побудова математичної моделі ГВС ……………….….. 13
3. Вибір оптимальних параметрів ГВС ………………………….. 16
1. Побудова цільової функції ГВС ………………………..… 16
2. Вибір оптимальних параиетрів ГВС …………………… 17
Висновки …………………………………………………………….. 19
Список використаних джерел …………………………………………. 20
Додатки ……………………………………………………………… 21
А – Лістинг програми оптимізації підприємства (гнучкої виробничої лінії) 21
Б – Скріншот результату роботи програми ……………………………. 23
Додаток А
program kurs;
{$N+}
uses crt, funct;
const
Lambda = 71.51;
Tsr = 0.151;
d = 5.7;
Vv = 3.7;
Vn = 1.7;
e = 10;
n = 20;
k = 10;
var
i, j, m, kmax, nmax: integer;
Pmn, Ro, max, commax:
double;
begin
max:= 0;
clrscr;
write('n\k ');
for j:= 1 to k do write('| ',j,' ');
writeln;
for i:= 1 to n do
begin
writeln;
write(i:4);
for j:= 1 to k do
begin
m:= e*j;
Pmn:= d*Lambda*AbsSkip(i, m, Lambda, Tsr)- Vv*i- Vn*j;
if Pmn > max then
begin
max:= Pmn;
kmax:= j;
nmax:= i;
end;
write('|', Pmn:6:2);
end;
writeln;
end;
writeln;
write('n - machines - ');writeln(nmax);
write('k - stores - ');writeln(kmax);
write('P - income - ');writeln(max:8:2);
end.
unit funct;
{$N+}
interface
function pow(x: double; n: integer): double;
function RoNaFact(r: double; n: integer): double;
function SumRoNaFact(r: double; n, m: integer): double;
function AbsSkip(n, m: integer; Lambda, Tsr: double): double;
implementation
function pow(x: double; n: integer): double;
var
i: integer;
p: double;
begin
if n = 0 then
pow:= 1
else
begin
p:= 1;
for i:= 1 to n do p:= p * x;
pow:= p;
end;
end;
function RoNaFact(r: double; n: integer): double;
var
i: integer;
f: double;
begin
if n = 0 then
RoNaFact:= 1
else
begin
f:= 1;
for i:= 1 to n do f:= f * r / i;
RoNaFact:= f;
end;
end;
function SumRoNaFact(r: double; n, m: integer):double;
var
i: integer;
s, k: double;
begin
s:= 0;
k:= r/n;
for i:= 0 to n do
s:= s + RoNaFact(r, i);
SumRoNaFact:= s + RoNaFact(r, i)*r/n*(1-pow(k, m))/(1-k);
end;
function AbsSkip(n, m: integer; Lambda, Tsr: double): double;
var
Ro: double;
begin
Ro:= Lambda * Tsr;
AbsSkip:= 1 - pow(Ro, m)/pow(n, m)*RoNaFact(Ro, n)/SumRoNaFact(Ro, n, m);
end; end.
Додаток Б
n\k | 1 |
2 | 3 | 4 | 5
| 6 | 7 | 8 |
9 | 10
1| 32.35| 30.65|
28.95| 27.25| 25.55| 23.85| 22.15| 20.45| 18.75| 17.05
2| 66.40| 64.70|
63.00| 61.30| 59.60| 57.90| 56.20| 54.50| 52.80| 51.10
3|100.45| 98.75|
97.05| 95.35| 93.65| 91.95| 90.25| 88.55| 86.85| 85.15
4|134.49|132.79|131.09|129.39|
5|168.53|166.84|165.14|163.44|
6|202.52|200.89|199.19|197.49|
7|236.25|234.93|233.24|231.54|
8|269.04|268.91|267.28|265.59|
9|299.24|302.20|301.20|299.61|
10|324.13|331.69|333.10|332.
11|341.20|350.49|353.42|354.
12|350.14|356.41|356.98|356.
13|352.95|355.38|354.29|352.
14|352.18|352.27|350.70|349.
15|349.68|348.68|347.01|345.
16|346.45|345.00|343.31|341.
17|342.92|341.31|339.61|337.
18|339.28|337.61|335.91|334.
19|335.60|333.91|332.21|330.
20|331.90|330.21|328.51|326.
n - machines - 12
k - stores - 3
P - income - 356.98
Рисунок
1 – Скрін результату роботи програми
Информация о работе Системний аналіз об’єктів та процесів комп’ютеризації