?? example1.asv
字號:
%***************************************************************%
%問題描述:例1 現(xiàn)有4種不同的車床1,2,3,4同時加工500件相同的零件,
% 各車床加工一個零件的時間分別為0.5,0.1,0.2和0.05h.問如何給4個
% 車床分配加工零件數(shù)目,使完工時間最短?
%算法設(shè)計:將問題按車床編號分為4個階段,再外加1個階段,共5個階段.設(shè)狀態(tài)變
%量x表示可分配給第k號車床的零件數(shù),決策變量u(k-1)表示分配給第k一1號車床的
%零件數(shù),狀態(tài)轉(zhuǎn)移方程為x(k-1)=x(k)+u(k-1),階段目標(biāo)函數(shù)L(x(k-l),u(k-1))
%表示u(k-1)個零件分配給第k一1號車床加工所需的最短時間L(x(k-l),u(k-1))=u(k-1)*
%t(k-1),t(k-1)是第是k-1號車床的加工時間.fk(x(k))表示狀態(tài)變量為xk時所需的最短
%時間,則基本方程為.....見文獻(xiàn)。設(shè)想x(0)=500,若x(0)=500,則 f0(x0)=0,否則,
%f0(x0)=infinity.根據(jù)上面所述的階段目標(biāo)函數(shù)、狀態(tài)轉(zhuǎn)移方程和基本方程,寫出以下4個M一函數(shù)
%參數(shù)說明:p由四列構(gòu)成,p=[ 階段號; 狀態(tài); 決策; 階段目標(biāo)函數(shù)值];
%f是一個列向量,各元素分別表示各最優(yōu)策略對應(yīng)的最優(yōu)目標(biāo)函數(shù)值.
%p和f分別對應(yīng)MinForeDynprog程序的兩個輸出參數(shù)OptPol和OptObjval
%詳情參見MinForeDynprog代碼說明
%***************************************************************%
clear;
n=500;x1=[n;nan*ones(n-1,1)];%除第一行為500外,其余皆為nan
x2=1:n;%x2為1到500的行向量
x2=x2';%把x2為變?yōu)?到500的列向量
x5=[0;nan*ones(n-1,1)];
x=[x1,x2,x2,x2,x5];
[p,f]=MinForeDynprog(x,'DecisF1','SubObjF1','TransF1','ObjF1')
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -