На основе метода сетевого графа
Задачи исследования
Необходимо спланировать временный график работ в соответствии с графом и вычислить критический путь выполнения всех работ
Исходные данные
Задание: Дана схема, нужно найти критический путь
Пример. Планирование производства товаров на основе модели получения максимальной прибыли с использованием метода линейного программирования
Условие. Пусть предприятие производит столы и стулья. Расход ресурсов на их производство и прибыль от их реализации представлены в таблице. столы стулья объем ресурсов
Расход древесины
на изделие, м3 0,5 0,04 200
Расход труда(чел-час) 12 0,6 1800
Прибыль от реализации
единицы изделия , руб 180 20
Кроме того на производство 80 столов имеется заказ с министерством
Уравнения1-количество столов х2 - количество стульев
0,5 х1 + 0,04х2<=200
12x1 + 0,6x2 <=18000
x1+20x2 =max ( целевая функция)
unit
Unit4;
procedure TForm4.Button3Click(Sender: TObject);
begin
close();
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
form1.visible:=true;
form4.visible:=false;
end;
function Fy(x:real): real;
begin
Fy := (60-6*x)/4;
end;
function Fx(x:real): real;
begin
Fx :=(100+2*x)/10;
end;
procedure TForm4.Button2Click(Sender: TObject);
var a, b ,h, x1, y, x2: Double;
begin
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
Chart1.Series[2].Clear;
a := StrToFloat(LabeledEdit1.Text); //левая граница
b := StrToFloat(LabeledEdit2.Text); //правая граница
h := StrToFloat(LabeledEdit3.Text); //шаг
x1 := a;
repeat
y := Fy(x1);
x2 := Fx(y);
hart1.Series[0].AddXY(x1,y,FloatToStrF(x1,ffGeneral,4,3),clRed); //график F(x)
hart1.Series[1].AddXY(x2,y,FloatToStrF(y,ffGeneral,4,3),clGreen); //график F(y)
x1 := x1 + h; //приращение координат
until x1 > b;
x1 := a;
repeat
y := Fy(x1);
x2 := Fx(y);
x1 := x1 + h/10000;
if ( x1 < x2 + h/10000 ) and ( x1 > x2 - h/10000 ) then
begin
Label5.Caption := 'Решение: ' +#13+ 'x = '+FloatToStrF(x1,ffGeneral,7,7)+#13;
Label5.Caption :=Label5.Caption + 'y = '+FloatToStrF(y,ffGeneral,7,7);
Chart1.Series[2].AddXY(x1,y,FloatToStrF(x1,ffGeneral,4,3),clBlue);
end;
until x1 > b;
end;end.
Дата добавления: 2015-09-07; просмотров: 642;