在用matlab的优化工具箱中的linprog求解器或者其他求解器求最优值时,怎么设置变量约束条件为整数 可以用分支定界法求解整数规划问题,给你源码:function[x,fm]=IntProgFZ(f,A,b,Aeq,beq,lb,ub)x=NaN;fm=NaN;NF_lb=zeros(size(lb));NF_ub=zeros(size(ub));NF_lb(:,1)=lb;NF_ub(:,1)=ub;F=inf;while 1sz=size(NF_lb);k=sz(2);opt=optimset('TolX',1e-9);[xm,fv,exitflag]=linprog(f,A,b,Aeq,beq,NF_lb(:,1),NF_ub(:,1),[],opt);if exitflag=-2xm=NaN;fv=NaN;endif xm=NaNfv=inf;endif fv~=infif fvif max(abs(round(xm)-xm))F=fv;x=xm;tmpNF_lb=NF_lb(:,2:k);tmpNF_ub=NF_ub(:,2:k);NF_lb=tmpNF_lb;NF_ub=tmpNF_ub;if isempty(NF_lb)=0continue;elseif x~=NaNfm=F;return;elsedisp('不存在最优解。');x=NaN;fm=NaN;return;endendelselb1=NF_lb(:,1);ub1=NF_ub(:,1);tmpNF_lb=NF_lb(:,2:k);tmpNF_ub=NF_ub(:,2:k);NF_lb=tmpNF_lb;NF_ub=tmpNF_ub;[bArr,index]=find(abs((xm-round(xm)))>;=1.0e-7);p=bArr(1);new_lb=lb1;new_ub=ub1;new_lb(p)=max(floor(xm(p))+1,lb1(p));new_ub(p)=min(floor(xm(p)),ub1(p));NF_lb=[NF_lb new_lb lb1];NF_ub=[NF_ub ub1 new_ub];continue;endelsetmpNF_lb=NF_lb(:,2:k);tmpNF_ub=NF_ub(:,2:k);NF_lb=tmpNF_lb;NF_ub。
matlab有没有命令可以直接计算目标函数和约束均为非线性的单变量最优化问题?如题,请问大家matlab有没有命令可以直接计算目标函数和约束均为非线性的单变量最优化问题啊?。
规划问题的约束条件含有多个决策变量