Методы исследования операций
Значит, увеличение на 100 ед. лежит в допустимых пределах.
Построим корректировочную таблицу:
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,' ');
Другие рефераты на тему «Экономико-математическое моделирование»:
- АРТ-моделирование на фондовом рынке
- Расчет коэффициента эластичности и показателей корреляции и детерминации
- Статистические методы оценки социально-экономических показателей
- Применение методов линейного программирования для оптимизации стоимости перевозок
- Сущность, модели, границы применения метода производственной функции
Поиск рефератов
Последние рефераты раздела
- Выборочные исследования в эконометрике
- Временные характеристики и функция времени. Графическое представление частотных характеристик
- Автоматизированный априорный анализ статистической совокупности в среде MS Excel
- Биматричные игры. Поиск равновесных ситуаций
- Анализ рядов распределения
- Анализ состояния финансовых рынков на основе методов нелинейной динамики
- Безработица - основные определения и измерение. Потоки, запасы, утечки, инъекции в модели