1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu ứng dụng mạng nơ ron trí tuệ nhân tạo trong việc kế hoạch hóa tiến độ mạng

230 42 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 230
Dung lượng 2,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

procedure BitBtn1ClickSender: TObject; procedure SpEdtChangeSender: TObject; procedure FormCreateSender: TObject; procedure BitBtn5ClickSender: TObject; procedure BitBtn2ClickSender:

Trang 20

0 ; 9 ' & & &

Trang 26

* % * * 1 % @ " Y % + 2

Trang 33

= +

KML K "# K\ V9 KML V "# K≤ V

!ML ! "# !\ V9 !ML V "# !≤ V

Trang 35

7 "# & V D&Ib δ ( * & → &I ! → M∞

Trang 36

J; - 4 6 , ; - ! : , & 1 & & ; #

+ + &+

Trang 45

! 6

=+

$7

Trang 47

! 66

% " / 6 # " )& ! $ < + M " / 9%) # :# :8 :# #$ ! ' 0( 6 / ' & ' +& ! " #$ % #& # 9%) # :# " #$ % !( ' & ' / " N& # 8 ( ! !& 0 # " / 9%) # :# $ # & : = # ( / !

Trang 55

! ;

/& # + # / / " N& 0( #$ "%+ # % # / "& # ( ! ^ !

8 ( ! 8 +8 N&< # ) _' + ` #$ # / /& # + $ /& $ 6 / (

#M " 48 & " 48 " & $ # & " # #$ 6 :% 9 ! # * # ( & :

+% #M

8 & & # 0() "& : N < ! & # & # 9 6 / 9 # = ! & ! " #$ % #& $ # # M 8 /& # + 8 !< 0( + 6 / : 0 !< + # * " / : !& ! +&< : 0 ! () 6& #S :# 6 /& # + !& ) + 9 # = $ # 9 = #$ ! "3 6( /% a.5ba b

Trang 60

∂ +

Trang 62

∂ +

Trang 63

6 6

D6

' ! 9 /9+(

Trang 64

∂ +

Trang 78

$

Trang 79

,-' /G &* 7& 5 6 % #@ #A ,! ,4 (#H % % ! %+E I,D = 9 5+&$' (#) ' ,4 % $ D $' B % " ! 5 (#) J +& % #*

Trang 82

= >N#@ % , 0 E Q #* " % ,A" L>J

S > R,4 Q #@ ' @# +& % #* 4 + L>J

Trang 83

Tong thoi gian du an: 31

Tong chi phi du an: 18356.00 ( $)

T >R,4 Q #@ ' @# +& % #* &) % # %#K #4 L>

Trang 84

Tong thoi gian du an: 29

Tong chi phi du an: 21038.00 ( $)

9 > R,4 Q #@ ' @# +& % #* &) % # 0#) #4 L>M

Trang 85

Tong thoi gian du an: 48

Tong chi phi du an: 20667.00 ( $)

Trang 86

+& % #* 4 + J ' * ' / #4 #4 * %#K #4 5#* % 2,- ' / + % ' * &) % # ' ! % #4 %#6 &* +& % #*

3,6 5 A ' / #*' ' @# #A % #@ (#H % '#*' 2 ,-" # " A 7 4 +& % #*

2 #*' ' #4 2 ! % ' * +& % #* #) "# % D#$ - % ' / @ & L>

J ' +* % @ " ! #4 ,A Q #@ % (#) #* 4 +

Trang 92

Tong thoi gian du an: 29

Tong chi phi du an: 18453.00 ( <)

2H3

Trang 100

# ) * ) , ) + # $%

∂ +

Trang 103

L A

L : Q

Trang 106

4 R d > 2700A1I 0 >2A K 2e >9d 27 d6A1B 0>0 d6A K 1>22 0

E 1 R > eeedA1B eA K 2d 000 R6A1B 0R6A K 2>2>

< 6 9 > 2RR2A1I 0 >>6RA K 1> 09d 1>A1B 076A K 16R0

f 6 2> > 20ReA1I 1 99dRA K 12 6e1 12 16A1B R1> ReA K 16R1 9[ 0 e > 0A1I R >1A K 2d 0R 16A1B 066A K 2906

L d 22 > >e07A1I 2 d2e2A K 26 2e1 21 6A1I 17d 6A K 109>

R 9 > 12e6A1I R 2e27A K 16 6d2 I0 6d2RA1I ed 76dA K 2096 d

O 6 7 > 26R7A1I 0 >>d2A K 29 2e 1>A1B 0R>A K 1>d>

S e 2> > 2>R9A1I 1 6>0RA K 29 6e1 21 6A1I 1Rd 6A K 2e9>

H R e > 16A1I 0 d6A K 27 6 2>>A1B 21>>A K RRe>

T 6 9 > 2RR2A1I 0 >>6RA K 1> 09d 1R 17eA1B R7RA K 1729 R

0 9 > 1169A1I 0 9e11A K 12 6dR 6 06d2A1B 2>9 19A K 9d7 6d

% e 21 > >dReA1I 2 991RA K 2d 121 21 76dA1B 000 6dA K 16Rd 9

Trang 108

Tong thoi gian du an : 32

Tong chi phi du an : 18402 ( +)

Trang 121

!

Trang 123

"

Trang 124

#

Trang 125

$

Trang 126

TDSL_tongket in 'TDSL_tongket.pas' {Form5},

TDSL_bangtinh in 'TDSL_bangtinh.pas' {Form6},

TDSL_dkhc in 'TDSL_dkhc.pas' {Form7},

TDSL_bieudoTN in 'TDSL_bieudoTN.pas' {Form8},

TDSL_thongtinthem in 'TDSL_thongtinthem.pas' {Form9}, TDSL_choncachtinh in 'TDSL_choncachtinh.pas' {Form10},

Trang 127

TDSL_about in 'TDSL_about.pas' {Form11};

Trang 133

procedure BitBtn1Click(Sender: TObject);

procedure SpEdtChange(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn9Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure BitBtn10Click(Sender: TObject);

procedure BitBtn11Click(Sender: TObject);

procedure BitBtn12Click(Sender: TObject);

procedure BitBtn13Click(Sender: TObject);

procedure BitBtn14Click(Sender: TObject);

procedure BitBtn15Click(Sender: TObject);

procedure StrGrd1GetEditText(Sender: TObject; ACol, ARow: Integer; var Value: String);

procedure BitBtn16Click(Sender: TObject);

PreListID,SuccListID,LagList,RelTypeInd:Array of Integer; LagSucc,RelTypeSucc:Array of Integer; end;

Trang 134

Function TinhMucTainguyenCt(Index:Integer;Dur:Real):Real; Function TinhChiphiCt(Index:Integer;Dur:Real):Real;

ResTable:Array of array of Real;

Tainguyen,ResVecto: Array of Real;

Trang 137

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

Else

For i:=1 to Ct[Index-1].SuccNumber do

begin

If SpecCt[Ct[Index-1].SuccListID[i-1]-1].KM=MaxTmp then Tinhluotve(Ct[Index-1].SuccListID[i-1]);

Case Ct[Index-1].RelTypeSucc[i-1] of

Trang 138

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

Trang 139

begin

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

If Not SaveDlg1.Execute then Exit;

Writeln(F,CtNumb,' ',MaxCostOrder,' ',MaxResOrder);

For i:=1 to CtNumb do

Writeln(F,Ct[i-1].Name:20,' ',Ct[i-1].ID,' ',Ct[i-1].Tgmin,' ',Ct[i-1].Tgmax,' ',

For i:=1 to CtNumb do

If Ct[i-1].SuccNumber>0 then

For j:=1 to Ct[i-1].SuccNumber do

Writeln(F,Ct[i-1].SuccListID[j-1],' ',Ct[i-1].LagSucc[j-1],' ',Ct[i-1].RelTypeSucc[j-1]);

Trang 140

While Ct[i-1].Name[1]=#32 do Delete(Ct[i-1].Name,1,1);

For i:=1 to CtNumb do

If Ct[i-1].SuccNumber>0 then

For j:=1 to Ct[i-1].SuccNumber do

1].RelTypeSucc[j-1]);

Trang 141

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

Trang 142

procedure TForm1.BitBtn10Click(Sender: TObject); begin

Chonbaitoan:=2;

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

end;

procedure TForm1.BitBtn13Click(Sender: TObject); begin

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

iF Not CorrectInfo then Update;

If Not CorrectInfo then Exit;

Form1.Enabled:=False;

BtnClk:=3;

TForm7.Create(Self);

end;

Trang 143

procedure TForm1.StrGrd1GetEditText(Sender: TObject; ACol, ARow:

Trang 145

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); private

Trang 146

For i:=1 to 3 do Dvtn[i]:=Vlist1.Values[Vlist1.Keys[i]];

end;

end

(*********************************************************************)

Trang 149

object BitBtn3: TBitBtn Left = 300

object CbBox1: TComboBox Left = 4

object CbBox2: TComboBox Left = 132

object CbBox3: TComboBox Left = 196

Trang 150

procedure FormCreate(Sender: TObject);

procedure LBox1Click(Sender: TObject);

procedure CbBox1Change(Sender: TObject);

procedure CbBox2Change(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure StrGrid1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

Trang 151

Ct[Ct[i-1].PreListID[j-1]-1].LagSucc[k-1]:=Ct[i-1].LagList[j-1];

SetLength(Ct[Ct[i-1].PreListID[j-1]-1].RelTypeSucc,k); Ct[Ct[i-1].PreListID[j-1]-1].RelTypeSucc[k-1]:=Ct[i-

Trang 152

StrGrid1.ColWidths[3]:=66;

StrGrid1.Cells[0,0]:='ID';

StrGrid1.Cells[1,0]:='Tên công tác';

StrGrid1.Cells[2,0]:='Loại quan hệ';

StrGrid1.Cells[3,0]:='Thời khoảng';

BitBtn3.Enabled:=false;

BitBtn2.Enabled:=false;

StrGrid1.RowCount:=1;

CbBox2.Text:='Chọn Mã số';

CbBox1.Text:='Chọn công tác';

CbBox3.Text:='Chọn loại quan hệ';

CbBox2.Text:='Chọn Mã số';

CbBox1.Text:='Chọn công tác';

CbBox3.Text:='Chọn loại quan hệ';

Trang 153

procedure TForm3.CbBox2Change(Sender: TObject);

If (Not Err) and (CbBox3.ItemIndex in [0 2]) then

Trang 154

strGrid1.Cells[1,i]:=Ct[Ct[LBox1.ItemIndex].PreListID[i-1]-1].Name;

1]];

strGrid1.Cells[3,i]:=IntToStr(Ct[LBox1.ItemIndex].LagList[i-1]); end;

// StrGrid1.RowCount:=StrGrid1.RowCount-1;

end;

end

(*********************************************************************)

Trang 156

Options = [goFixedVertLine, goFixedHorzLine, goVertLine,

goHorzLine, goRangeSelect, goEditing]

Trang 157

procedure FormCreate(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure SpEdt1Change(Sender: TObject);

Trang 158

If CostChoose then begin

Caption:='Bang nhap quan he Chi phi - Thoi gian';

Label1.Caption:='Bậc cao nhất của các hàm chi phí (đa

thức):';

If MaxCostOrder<>-1 then SpEdt1.Value:=MaxCostOrder;

end

Else begin

Caption:='Bang nhap quan he Tai nguyen - Thoi gian';

Label1.Caption:='Bậc cao nhất của các hàm tài nguyên (đa thức):';

If MaxResOrder<>-1 then SpEdt1.Value:=MaxResOrder;

end;

StrGrid1.ColCount:=SpEdt1.Value+2;

StrGrid1.RowCount:=CtNumb+1;

StrGrid1.ColWidths[0]:=68;

StrGrid1.Cells[0,0]:='Tên Ct\Hệ số';

For i:=1 to CtNumb do

Trang 159

StrGrid1.Cells[1,i]:='';

StrGrid1.Cells[1,0]:='Bậc '+ IntToStr(k); End

Else if k+2<StrGrid1.ColCount then

begin

For j:=1 to k+1 do

StrGrid1.Cols[j]:=StrGrid1.Cols[j+1]; StrGrid1.ColCount:=k+2;

If Err=0 then CostInit:=Tmp

For j:=MaxCostOrder downto 0 do

Trang 160

For j:=MaxResOrder downto 0 do

Trang 162

object TabCtrl1: TTabControl

Options = [goFixedVertLine, goFixedHorzLine, goVertLine,

goHorzLine, goRangeSelect, goRowSizing, goColSizing, goRowSelect]

Trang 163

procedure TabCtrl1Change(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject);

procedure LBox1Click(Sender: TObject);

StrGrid1.Cells[0,0]:='Mã số - ID';

StrGrid1.Cells[1,0]:='Tên Công tác';

StrGrid1.Cells[2,0]:='Tg min ('+ Dvtn[1]+')';

Trang 164

StrGrid1.Cells[0,0]:='Mã số - ID';

StrGrid1.Cells[1,0]:='Tên Công tác';

StrGrid1.Cells[2,0]:='Hàm chi phí ('+Dvtn[2]+')'; For i:=1 to CtNumb do

Else 1,j]))+'('+Dvtn[1]+')';

end

Else begin

If CostTable[i-1,j]<0 then St1:=St1+' -' Else St1:=St1+' +';

St1:=St1+FloatToStr(CostTable[i-1,j]); end;

Trang 165

StrGrid1.Cells[0,0]:='Mã số - ID';

StrGrid1.Cells[1,0]:='Tên Công tác';

StrGrid1.Cells[2,0]:='Hàm tài nguyên ('+Dvtn[3]+')';

For i:=1 to CtNumb do

StrGrid1.Cells[0,0]:='Mã số - ID';

StrGrid1.Cells[1,0]:='Tên Công tác';

StrGrid1.Cells[2,0]:='Loại tương quan';

Trang 171

object StrGrid1: TStringGrid

Trang 172

object Edit2: TEdit

Trang 175

(*********************************************************************)

/unit TDSL_bangtinh;

Trang 176

procedure BitBtn3Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); private

Trang 178

1].KS);

1].HS+

1].Dur,Ct[Index-1].KS);

1].KS+

1].KS);

1].HM);

1].HM -

1].HM);

1].KM -

1].Dur,Ct[Index-1].HM);

Trang 179

End;

Ct[Index-1].KM:=Ct[Index-1].HM-Ct[Index-1].Dur; End;

Trang 180

// Rang buoc ve can duoi bien thiet ke

For i:=1 to NumbVarNode do

// Rang buoc ve can tren bien thiet ke

For i:=1 to NumbVarNode do

// Rang buoc ve tuong quan thu tu

For i:=1 to NumbVarNode do

WeightArr[i-1,Ind-1].Dur:=0;

Trang 181

end;

1:begin

WeightArr[Ct[i-1].PreListID[j-1]-1,Ind-1].STime:=1; WeightArr[Ct[i-1].PreListID[j-1]-1,Ind-1].Dur:=1; WeightArr[i-1,Ind-1].STime:=-1;

WeightArr[i-1,Ind-1].Dur:=-1;

end;

2:begin

WeightArr[Ct[i-1].PreListID[j-1]-1,Ind-1].STime:=1; WeightArr[Ct[i-1].PreListID[j-1]-1,Ind-1].Dur:=0; WeightArr[i-1,Ind-1].STime:=-1;

Trang 183

SetLength(ConsThreadArr,NumbConsNode+MaxDayEsl); For j:=NumbConsNode+1 to NumbConsNode+MaxDayEsl do Begin

Trang 184

End;

3:Begin

For j:=1 to NumbConsNode do

begin

Trang 185

For i:=1 to NumbVarNode do

InpConsArr[j-1]:=InpConsArr[j-1]+OldVarArr[i-1].STime*WeightArr[i-1,j-1].STime+

OldVarArr[i-1].Dur*WeightArr[i-1,j-1].Dur; InpConsArr[j-1]:=InpConsArr[j-1]+ConsThreadArr[j-1]; end;

For j:=NumbConsNode+1 to NumbConsNode+MaxDayEsl do

Trang 186

Until (UnCriList[Tk-1]=i) or (Tk>LenUnCri);

If (i>1) and (i<CtNumb+1) and (Tk<=LenUnCri) then

Trang 187

If Tk mod 2=0 then

InpVarArr[i-1].STime:=InpVarArr[i-1].Stime+ (R0+n/alpha)*WGradRes[i-

1]*OutConsArr[j-1]/2

Else

InpVarArr[i-1].STime:=InpVarArr[i-1].Stime- (R0+n/alpha)*WGradRes[i-

// Tinh Tich phan so

For i:=1 to NumbVarNode do

Begin

OutVarArr[i-1].Dur:=OldVarArr[i-1].Dur+InpVarArr[i-1].Dur;

OutVarArr[i-1].Stime:=OldVarArr[i-1].Stime+InpVarArr[i-1].Stime; End;

Trang 188

For i:=1 to NumbVarNode do

If (EpsTime<=3*Epsi) and (EpsDur<=3*Epsi) and

(EpsCons<=3*Epsi)and (NumbStf=NumbConsNode) then

If (EpsTime<=3*Epsi) and (EpsDur<=3*Epsi) and

(EpsCons<=3*Epsi)and (NumbStf=NumbConsNode+MaxDayEsl) then Begin

ShowMessage('Nghiem da hoi tu');

Trang 189

procedure TForm6.BitBtn2Click(Sender: TObject);

For j:=NumbConsNode+1 to NumbConsNode+MaxDayEsl do

Trang 190

1]/UpTimeLimit*4;

1]/UpTimeLimit/2;

end;

If chonloaihanche=3 then begin

If (i=NumbVarNode) then

1]/UpTimeLimit/20;

1]/UpTimeLimit/4;

InpVarArr[i-1].STime:=InpVarArr[i-1].STime+

Trang 191

Until (UnCriList[Tk-1]=i) or (Tk>LenUnCri);

If (i>1) and (i<CtNumb+1) and (Tk<=LenUnCri) then

If Tk mod 2=0 then

InpVarArr[i-1].STime:=InpVarArr[i-1].Stime+ (R0+n/alpha)*WGradRes[i-

1]*OutConsArr[j-1]/2

Else

InpVarArr[i-1].STime:=InpVarArr[i-1].Stime- (R0+n/alpha)*WGradRes[i-

// Tinh Tich phan so

For i:=1 to NumbVarNode do

Begin

OutVarArr[i-1].Dur:=OldVarArr[i-1].Dur+InpVarArr[i-1].Dur;

OutVarArr[i-1].Stime:=OldVarArr[i-1].Stime+InpVarArr[i-1].Stime; End;

If Chonloaihanche=3 then

begin

Trang 192

For i:=1 to NumbVarNode do

EpsDur:=EpsDur+ abs(OutVarArr[i-1].Dur-OldVarArr[i-1].Dur);

Until (n=MaxIter) or ((ChonLoaiHanche in [0,1,2]) and

(EpsTime<=3*Epsi) and (EpsDur<=3*Epsi) and

(EpsCons<=3*Epsi)and (NumbStf=NumbConsNode)) or

((ChonLoaiHanche=3) and

(EpsTime<=3*Epsi) and (EpsDur<=3*Epsi) and

(EpsCons<=3*Epsi)and (NumbStf=NumbConsNode+MaxDayEsl)); Case ChonLoaiHanche of

Trang 193

For i:=1 to NumbVarNode do

Trang 194

1].HS+

1].KS);

1].HS+

1].Dur,Ct[Index-1].KS);

1].KS+

1].KS);

1].HM);

1].HM -

1].HM);

1].KM -

1].Dur,Ct[Index-1].HM);

Ngày đăng: 17/02/2021, 10:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w