double arrow

На основе метода сетевого графа


Задачи исследования

Необходимо спланировать временный график работ в соответствии с графом и вычислить критический путь выполнения всех работ

Исходные данные

Задание: Дана схема, нужно найти критический путь

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

Условие. Пусть предприятие производит столы и стулья. Расход ресурсов на их производство и прибыль от их реализации представлены в таблице. столы стулья объем ресурсов

Расход древесины

на изделие, м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.

Лабораторная работа


Сейчас читают про: