MATLAB:特定约束条件下的最优化问题 写了一下,是下面的结果,应该是对的,呵呵!f=[25;30];A=[2 3;3 4];b=[69;48];lb=[4;2];[x,fval,exitflag,output]=linprog(f,[],[],A,b)Optimization terminated.x=132.0000111.0000fval=30.0000exitflag=1output=iterations:4algorithm:'large-scale:interior point'cgiterations:0message:'Optimization terminated.'constrviolation:6.7928e-011
关于函数的优化问题 上面是目标函数,下面是约束条件。 求E最小的情况下,C2u和C2a的取值。 哪位 约束条件比较奇怪.如果C2a和C2u是与r无关的常数,完全可以从对r的积分里提出来.这样由前两个约束条件不就把C2a和C2u解出来了吗?关于E的表达式.如果固复定C2a与C2u后,积分内会随r改变的只有r(你说了其他都是常数,而Deq也随C2a与C2u固定).那么不妨把所有式子乘开,被积函数整理为r的多项式.系数虽然制复杂,但都是常数,可以从积分号内提出.计算几个r的幂函数的积分就能把E写成不含积分的表达百式.然后就按普通的二元函数求极值来做就行了(前提是已知Deq的形式).在边界以外的地方取极值的必要条件是各偏导为0,这样得到两个方程.目测这个方程组恐怕难以求解,特别如果Deq的形式不利于简化,很有可能变成超越方程.大概最后度只能求数值解.
求高人用matlab解这道最优化问题。。大括号里的是约束条件。谢谢。 此类问题,可以用[x,fval,exitflag,output]=fmincon('myfun',x0,A,b,Aeq,beq,lb,ub,'mycon')求解。初值x0=0.1112 0.7803 0.3897x1、x2、x3值x=77.5934 29.4027-105.9961%即x1、x2、x3minf(x)最小值fval=20.6378%即minf(x)验证:x1+x2+x3=1ans=1.0000180*x1+110*x2+150*x3+70*x1*x2-60*x1*x3+210*x2*x3≤0.01ans=0.0100