您好,un为目标
函数,它可用前面的方法定义; x0为初始值; A、b满足线性不
等式约束 ,若没有不等式约束,则取A=[ ],b=[ ]; Aeq、beq满足等式约束 ,若没有,则取Aeq=[ ],beq=[ ]; lb、ub满足 ,若没有界,可设lb=[ ],ub=[ ]; nonlcon的作用是通过接受的向量x来计算非线性不等约束 和等式约束 分别在x处的估计C和Ceq,通过指定函数柄来使用,如:>>x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon),先建立非线性约束函数,并保存为mycon.m:function [C,Ceq] = mycon(x) C = … % 计算x处的非线性不等约束 的函数值。 Ceq = … % 计算x处的非线性等式约束 的函数值。 lambda是Lagrange乘子,它体现哪一个约束有效。 output输出优化信息; grad表示目标函数在x处的梯度; hessian表示目标函数在x处的Hessiab值。用matlab写已知目标函数和约束条件的代码,可以试着从这几个方面来考虑:
1、建立最小目标函数,利用循环语句完成二重求和式
2、建立约束函数,利用循环语句完成三个一重求和等式,再建立若干个差分等式
3、可以考虑用遗传算法来求解
4、要有基本计算数据
评论列表(0条)