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