資源簡介
可以幫助動態規劃求解水庫優化調度!里面有MATLAB源碼,希望有助于求解!!
代碼片段和文件信息
function?[OptPolOptObjval]=MinForeDynprog(xDecisFunStageObjFunStateTransFunObjFun)
step=length(x(1:));x_isnan?=~isnan(x);compar_valm?=inf.*ones(size(x))?;
f_opt=nan.*ones(size(x));d_opt?=f_opt;?k?=1;tmpl=find(x_isnan(:k));
tmp2=length(tmp1);
for?i=1:tmp2
u=nan;tmp3=feval(StageObjFunkx(tmp1(i)k)u);
f_opt(ik)=tmp3;d_opt(ik)=u;
end
for?k?=2:1:step
tmp4?=?find(x_isnan(:k));tmp5=length(tmp4);
for?i?=1:tmp5
u=feval(DecisFunk?x(ik));tmp6?=?length(u);
for?j?=1:tmp6
tmp7=feval(StateTransFun?kx(tmp4(i)k)u(j));
tmp8=x(:k-1)-tmp7?;tmp9=find(tmp8==0);
if~isempty(tmp9)
tmp10=feval(StageObjFunktmp7u(j))?;
tmp10?=feval(ObjFuntmp10f_opt(tmp9(1)k-1))?;
if?tmp10<=compar_valm(ik)
f_opt(ik)=tmp10;d_opt(ik)=u(j);compar_valm(ik)=tmp10;
評論
共有 條評論