Методы исследования операций

Значит, увеличение на 100 ед. лежит в допустимых пределах.

Построим корректировочную таблицу:

d width=79 >

Δ*x6

xb

bi

X6

xb=bi-Δ*x6

Примечания

x1

894,118

8,235

823,5

70,618

Уменьшилось

x2

600

0

0

600

Не изменилось

x3

900

1

100

800

Уменьшилось

x7

5609,412

2,824

282,4

5327,012

Уменьшилось

x8

149,412

-0,176

-17,6

167,012

Увеличилось

Х9

105,882

-8,235

-823,5

929,382

Увеличилось

z

524258,824

397,647

39764,7

484494,124

Уменьшилось

При увеличении выпуска нерентабельной продукции 3-го типа, производимой за счет повышения качества, на 100ед.:

· Выпуск продукции 1-го типа, производимой за счет снижения издержек, уменьшится на 823,5 ед;

· Выпуск продукции 2-го, производимой за счет снижения издержек, не изменится;

· Выпуск продукции 3-го типа, производимой за счет снижения издержек уменьшится на 100 ед.;.

· Мощность станков 1-го уменьшится на 282,4 ст/час;

· Мощность станков 2-го увеличится на 17,6 ст/час;

· Недопроизводство продукции 1-го типа при использовании модернизированных станков увеличится на 823,5 ед.

· Значение эффекта ухудшится, прибыль уменьшится на 39764,7 ден.ед. и составит 484494,124 ден.ед.

8. Описание программного обеспечения.

Инструкция пользователю программы, реализующей табличный метод динамического программирования.

1. Создайте файл, содержащий исходные данные:

· Число шагов ДП;

· Шаг изменения инвестиций;

· Максимальный объём инвестиций;

· Число значений параметра (инвестиций);

· Значения параметра(инвестиций);

· Значения производственных функций для рекламного отдела;

· Значения производственных функций для технологического отдела;

· Ограничения по объёму выделенных средств рекламному отделу;

· Ограничения по объёму выделенных средств технологическому отделу;

· Размер средств возвращающихся в виде прибыли, идущей на расширение производства и присоединяющихся к оставшимся средствам (коэффициент функции возврата);

2. Сохраните файл ввода с именем, например «vvod.txt».

3. Запустите «Dinamo.exe».

4. Нажмите кнопку «Расчет».

5. Выберете файл содержащий исходные данные (vvod.txt).

6. Создайте файл, в который будут записаны результаты и сохраните его как (например) «vivod.txt».

7. Решение задачи находится в файле «vivod.txt». В нем содержатся таблицы метода ДП и оптимальное распределение заказа.

Листинг программы метода динамического программирования.

unit Dynamo;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs,tables, StdCtrls;

type

TForm1 = class(TForm)

Calc: TButton;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

procedure CalcClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

{}

function min(x:real;y:real):real;

{}

function fret(a:real;x:real):real;

{}

procedure OpenFileDinamo(FileName:string;{}

var n:integer;{}

var delta:real; {}

var _x:arr_1_M; {}

var fi:ttable; {}

var K:real; {}

var a:real); {}

implementation

{$R *.dfm}

{}

function min(x:real;y:real):real;

begin

if x<y then min:=x

else min:=y;

end;

{}

function fret(a:real;x:real):real;

begin

fret := a*x;

end;

{}

procedure OpenFileDinamo(FileName:string;{}

var n:integer;{}

var delta:real; {}

var _x:arr_1_M; {}

var fi:ttable; {}

var K:real; {}

var a:real); {}

var f:textfile;{}

i,j:integer;{}

m:integer;{}

x:arr_1_M;

begin

assignfile(f, FileName);

reset(f);

readln(f,n); {}

readln(f,delta);{}

readln(f,K); {}

readln(f,m);{}

{}

for j:=1 to m do

read(f,x[j]);

readln(f);

{}

for i:=1 to n do

begin

fi[i].n := m;

for j:=1 to m do

begin

fi[i].x_x[j] := x[j];

read(f,fi[i].f_x[j]);

end

end;

{}

for i:=1 to n do

read(f,_x[i]);

readln(f);

{}

read(f,a);

closefile(f);

ShowMessage('Расчет завершен!');

end;

procedure TForm1.CalcClick(Sender: TObject);

var

i:integer;{}

n:integer;{}

fi:ttable;{}

F: ttable;{}

x: ttable;{}

Kmax:real;{}

K:real;{}

_x:arr_1_M;{}

xi:real;

delta:real;{}

_x_:real; {}

y:real; {}

_y_:real;{}

a:real; {}

effect:real;{}

max_effect:real;{}

arg_max_effect:real;{}

FileNameIn:string;{}

FileNameOut:string;{}

ft:textfile;{}

begin

if OpenDialog1.Execute and SaveDialog1.Execute

then

begin

FileNameIn := OpenDialog1.FileName;

FileNameOut:=SaveDialog1.FileName;

{}

OpenFileDinamo(FileNameIn,n,delta,_x,fi,Kmax,a);

{}

assignfile(ft,FileNameOut);

rewrite(ft);

{}

i:=n;

{}

_x_:=min(_x[n],Kmax);

{}

writeln(ft,'**************************************************************************************');

writeln(ft,'Шаг ',n-i+1);

writeln(ft,' ');

writeln(ft,' K',i,' ',' X',i,' ',' fi',i,'(X',i,') ',' F',n-i+1,'(K',i,')');

{}

max_effect := -1000000;

{}

K:=0;

{}

while K<=_x_ do

begin

xi:=0;

{}

writeln(ft,' ');

while xi<=K do

begin

{}

effect := GetValue(fi[i],xi);

{}

if effect > max_effect then

begin

max_effect := effect;

arg_max_effect := xi;

end;

{}

if xi=0 then

write(ft,K:10:2)

else

write(ft,' ');

Страница:  1  2  3  4  5  6  7  8  9  10  11  12 


Другие рефераты на тему «Экономико-математическое моделирование»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы