Смекни!
smekni.com

Условия неопредел нности критерий Сэвиджа 2 (стр. 2 из 2)

Таблица 2.4

Дни Ассортимент товара
С1 С2 С3 С4
День 1 0 0 243 16
День 2 27 128 78 0
День 3 37 78 9 124
День 4 7 162 0 52

Следуя формуле, найдём max(Zij-minZij), выбирая из каждого столбца таблицы (2.4) максимальное число. Отразим это в таблице (2.5).

Таблица 2.5

max Ассортимент товара
одежда обувь книги игрушки
37 162 243 124

И, наконец, найдём оптимальный минимальный доход, выбрав минимальное число из таблицы (2.5).

Этим числом является 37. Смотрим таблицу (2.5) чтобы найти его расположение. Оно находится в столбце “одежда” и строке “День 3”.

Ответ: оптимальный минимальный доход (по критерию Сэвиджа) равен 37 за 3 день.

2.3 Компьютерный вариант решения задачи.

2.3.1 Блок-схема решения задачи.





2.3.2 Текст компьютерного решения задачи.

Programkurs9k;

uses crt;

type armarka=record

c1:real; {odezda}

c2:real; {obyv}

c3:real; {knigi}

c4:real; {igryshki}

end;

var

a:array [1..4] of armarka;

n1,n2,n3,n4:real; {chisla dlya min (minZij)}

codezda, cobyv, cknigi, cigryshki:real; {ceni za tovar}

b:array[1..4] of armarka;

i:integer;

z:integer; {dni}

r1,r2,r3,r4:real; {chisla dlya max (max b[i])}

min:real;

{shapka}

procedure shapka;

begin

writeln('___________________________________________________');

writeln('| | tovar | Zij - minZij |');

writeln('| |___________________________|__________________|');

writeln('| den | odezda | obyv | knigi |igryshki| c1 | c2 | c3 | c4 |');

writeln('|_____|______|_______|_____|_______|____|_____|____|____|');

end;

{vvod cen na tovar}

begin

writeLn('vvedite ceny na odezgy ');

readln(codezda);

writeLn('vvedite ceny na obyv ');

readln(cobyv);

writeLn('vvedite ceny na knigi ');

readln(cknigi);

writeLn('vvedite ceny na igryshki ');

readln(cigryshki);

{naxogdenie cluchainim obrazom pokupateley}

for i:=1 to 4 do

begin

a[i].c1:=random(100)+1;

a[i].c2:=random(100)+1;

a[i].c3:=random(100)+1;

a[i].c4:=random(100)+1;

end;

{podshet cen- pokupateli*ctovara}

for i:=1 to 4 do

begin

a[i].c1:= a[i].c1*codezda;

a[i].c2:= a[i].c2*cobyv;

a[i].c3:= a[i].c3*cknigi;

a[i].c4:= a[i].c4*cigryshki;

end;

{naxogdenie min v kagdom stolbce}

n1:=a[1].c1;

for i:=1 to 4 do

begin

if n1>a[i+1].c1 then

n1:=a[i+1].c1;

end;

n2:=a[1].c2;

for i:=1 to 4 do

begin

if n2>a[i+1].c2 then

n2:=a[i+1].c2;

end;

n3:=a[1].c3;

for i:=1 to 4 do

begin

if n3>a[i+1].c3 then

n3:=a[i+1].c3;

end;

n4:=a[1].c4;

for i:=1 to 4 do

begin

if n4>a[i+1].c4 then

n4:=a[i+1].c4;

end;

{nahogdenie (zij-minzij)}

writeln;

for i:=1 to 4 do

begin

b[i].c1:=a[i].c1-n1;

b[i].c2:=a[i].c2-n2;

b[i].c3:=a[i].c3-n3;

b[i].c4:=a[i].c4-n4;

end;

r1:=b[1].c1;

for i:=1 to 4 do

begin

if r1<b[i+1].c1 then

r1:=b[i+1].c1;

end;

r2:=b[1].c2;

for i:=1 to 4 do

begin

if r2<b[i+1].c2 then r2:=b[i+1].c2;

end;

r3:=b[1].c3;

for i:=1 to 4 do

begin

if r3<b[i+1].c3 then r3:=b[i+1].c3;

end;

r4:=b[1].c4;

for i:=1 to 4 do

begin

if r4<b[i+1].c4 then r4:=b[i+1].c4;

end;

{nahogdenie otveta}

min:=r1;

z:=1;

if min> r2 then

begin

min:=r2;

z:=2;

end;

if min> r3 then

begin

min:=r3;

z:=3;

end;

if min> r4 then

begin

min:=r4;

z:=4;

end;

shapka;

{vivod podschitannogo}

for i:=1 to 4 do

begin

writeln('| day ',i:1 ,'|',a[i].c1:8:2,'|',a[i].c2:8:2,'|',a[i].c3:8:2,'|',a[i].c4:8:2,'|',

b[i].c1:7:2,'|',b[i].c2:7:2,'|',b[i].c3:7:2,'|',b[i].c4:7:2,'|' );

writeln('|_________________________________________________________________|');

end;

writeln;

writeln;

writeln(' ________________________________________________________________ ');

writeln('| |') ;

writeln('|Max(Zij-minZij):|', r1:13:2,'| ',r2:13:2,'| ',r3:13:2,'| ',r4:13:2,'|' );

writeln('|_________________________________________________________________|');

writeln;

writeln('Otvet:Optimalni variant (po kriteriu Sevidga) coctavliyaet za 3 den s zna4eniem ', min:7:2);

readln ;

repeat until keypressed;

readln;

end.

{konec}

2.3.2. Инструкция по использованию решения задачи.

Во время запроса нужно ввести цены на товар (1)

Рисунок 1

После появляется посчитанная таблица (2), в которой, в графе tovar указана начальная матрица прибыли, а в графе Zij - minZijуказана матрица рисков. В нижней строчке под таблицей указан Max(Zij-minZij). На последней строчке показан ответ решения задачи.

Рисунок 2

Заключение.

Внедрение компьютеров в данную область науки привело к ускорению и упрощению расчетов, что высоко цениться у работников, производивших ранее эти расчёты в ручную. Это не только экономия времени и сил, но и точность ответа, т.к. компьютер никогда не ошибается.

На рис. 2 представлен результат работы программы на TurboPascal. Данный результат совпал с аналитическим решениемзадачи.


Список литературы.

1. Андреев В.Н., Герасимов Ю.Ю. Принятие оптимальных решений: Теория и применение в лесном деле. Йоэнсуу: Из-во ун-та Йоэнсуу, 1999. 200 с.

2. Беллман Р., Калаба Р. Динамическое программирование и современная теория управления. М.: Наука, 1969. 120 с.

3. Вентцель Е.С. Элементы динамического программирования. М.: Наука, 1964. 176 с.

4. Вентцель Е.С. Исследование операций: задачи, принципы, методология. М.: Наука, 1988.

5. Юдин Д.Б. Задачи и методы стохастического программирования. М.: Сов. радио, 1979. 392 с.

6. Davis L.S., Johnson K.N. Forest management. New York: McGraw-Hill Book Company, 1987. 790 p.

7. Моисеев Н.Н., Математические методы системного анализа М. Наука 1981 487 с.