数学建模社区-数学中国

标题: 用MATLAB编程怎样解决对非线性约束条件的编写 [打印本页]

作者: xiaojudeng518    时间: 2010-3-17 19:34
标题: 用MATLAB编程怎样解决对非线性约束条件的编写
我目前遇到的问题是:对于编写非线性约束优化问题时,不知怎样编写约束条件,而且在主程序中要用到约束条件的个数。6 k2 ]6 q3 E0 f4 f; ^
   例如:优化问题   min f(x)' J) i- W5 |) J. w* l) l! n( R4 ?
                  s.t. gi(x)<=0,i=1,2,...,m
' W8 [" w& I/ L$ ^6 b; {要在主程序中判断x对gi(x)<=0是否满足,要怎样编写;$ ]/ v" h8 U2 m: S5 ~
还有在函数Dp(x,a)=(1/p)ln{p(f(x)-a)+(exp(p*g1(x))+exp(p*g2(x))+...+exp(p*gm(x)))}中要用到约束条件的个数;6 ~1 o0 K- k" C9 p3 o- d3 g
再有就是求Dp(x,a)这个函数的最小值应用哪个函数
作者: 数学者    时间: 2010-3-17 22:39
用遗传算法可求GA(FITNESSFCN,NVARS,A,b,Aeq,beq,LB,UB,NONLCON). D3 N( R& e# V8 c9 T
可在MATLAB命令窗口中输入help ga 并按回车查看参数的含义~
作者: pengfeij    时间: 2010-5-30 00:19
发现了·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: 灵幽二娃    时间: 2010-6-16 21:50
以m文件写/ \7 Y8 `/ \4 H( c
一个为f 一个为c(条件)! D5 L/ l. q" I2 S  }; N
然后以向量写每一个非线性约束条件
+ `' O# E1 m1 q( A: pc=[******xx,**********,********,**xx];
' d) h5 I1 @# O+ Y******xx为表达式就行; u0 N  }- E& g$ }8 C
所有非线性的都这么写
作者: mauben    时间: 2010-6-20 09:49
对于非线性约束条件的最优化问题,只要将问题化成标准型,在Matlab中有特定的求解函数
2 [+ U  B5 J) b* C[z,options]=constr('fun',x0,options,vlb,vub);其中vlb,vub分别为就是下界与上界。
. w- o6 e1 e3 K- c( b3 r
作者: cxdneoplan    时间: 2010-6-22 12:32
用遗传算法可求GA(FITNESSFCN,NVARS,A,b,Aeq,beq,LB,UB,NONLCON). s7 H7 E; {" h. k; i% m/ B
5 o* q) K2 Y/ Y% M! f可在MATLAB命令窗口中输入help ga 并按回车查看参数的含义~ & G( |4 |/ D4 p5 D% r





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5