xiaojudeng518 发表于 2010-3-17 19:34

用MATLAB编程怎样解决对非线性约束条件的编写

我目前遇到的问题是:对于编写非线性约束优化问题时,不知怎样编写约束条件,而且在主程序中要用到约束条件的个数。
   例如:优化问题   min f(x)
                  s.t. gi(x)<=0,i=1,2,...,m
要在主程序中判断x对gi(x)<=0是否满足,要怎样编写;
还有在函数Dp(x,a)=(1/p)ln{p(f(x)-a)+(exp(p*g1(x))+exp(p*g2(x))+...+exp(p*gm(x)))}中要用到约束条件的个数;
再有就是求Dp(x,a)这个函数的最小值应用哪个函数

数学者 发表于 2010-3-17 22:39

用遗传算法可求GA(FITNESSFCN,NVARS,A,b,Aeq,beq,LB,UB,NONLCON)
可在MATLAB命令窗口中输入help ga 并按回车查看参数的含义~

pengfeij 发表于 2010-5-30 00:19

发现了·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

灵幽二娃 发表于 2010-6-16 21:50

以m文件写
一个为f 一个为c(条件)
然后以向量写每一个非线性约束条件
c=[******xx,**********,********,**xx];
******xx为表达式就行
所有非线性的都这么写

mauben 发表于 2010-6-20 09:49

对于非线性约束条件的最优化问题,只要将问题化成标准型,在Matlab中有特定的求解函数
[z,options]=constr('fun',x0,options,vlb,vub);其中vlb,vub分别为就是下界与上界。

cxdneoplan 发表于 2010-6-22 12:32

用遗传算法可求GA(FITNESSFCN,NVARS,A,b,Aeq,beq,LB,UB,NONLCON)
5 o* q) K2 Y/ Y% M! f可在MATLAB命令窗口中输入help ga 并按回车查看参数的含义~
页: [1]
查看完整版本: 用MATLAB编程怎样解决对非线性约束条件的编写