数学建模社区-数学中国
标题:
用MATLAB编程怎样解决对非线性约束条件的编写
[打印本页]
作者:
xiaojudeng518
时间:
2010-3-17 19:34
标题:
用MATLAB编程怎样解决对非线性约束条件的编写
我目前遇到的问题是:对于编写非线性约束优化问题时,不知怎样编写约束条件,而且在主程序中要用到约束条件的个数。
9 S$ r8 o: O/ y% @5 |1 D
例如:优化问题 min f(x)
" _! a1 _! e' Z$ C
s.t. gi(x)<=0,i=1,2,...,m
1 C: ?# w# j* T! {
要在主程序中判断x对gi(x)<=0是否满足,要怎样编写;
; |1 |8 O. Y6 D
还有在函数Dp(x,a)=(1/p)ln{p(f(x)-a)+(exp(p*g1(x))+exp(p*g2(x))+...+exp(p*gm(x)))}中要用到约束条件的个数;
/ v- O* F2 N( o! q+ {& @+ k
再有就是求Dp(x,a)这个函数的最小值应用哪个函数
作者:
数学者
时间:
2010-3-17 22:39
用遗传算法可求GA(FITNESSFCN,NVARS,A,b,Aeq,beq,LB,UB,NONLCON)
" I3 H1 h/ L# x1 p$ k
可在MATLAB命令窗口中输入help ga 并按回车查看参数的含义~
作者:
pengfeij
时间:
2010-5-30 00:19
发现了·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者:
灵幽二娃
时间:
2010-6-16 21:50
以m文件写
$ I7 w' }/ X/ z' k) N' L- c
一个为f 一个为c(条件)
% {6 J2 F5 b% B( ^3 [ Y
然后以向量写每一个非线性约束条件
2 T. K% r1 M7 H% E; ^
c=[******xx,**********,********,**xx];
+ _8 I) B+ l1 p: I! u2 }7 @
******xx为表达式就行
6 J4 T* z( j. l$ F. Y* N( e& o8 t7 m
所有非线性的都这么写
作者:
mauben
时间:
2010-6-20 09:49
对于非线性约束条件的最优化问题,只要将问题化成标准型,在Matlab中有特定的求解函数
( e/ K |+ J* U% `" D+ z- x9 v" d# _
[z,options]=constr('fun',x0,options,vlb,vub);其中vlb,vub分别为就是下界与上界。
2 J' V; F6 Z: F4 r* I
作者:
cxdneoplan
时间:
2010-6-22 12:32
用遗传算法可求GA(FITNESSFCN,NVARS,A,b,Aeq,beq,LB,UB,NONLCON)
/ L. t. W! B* D% u$ V
5 o* q) K2 Y/ Y% M! f可在MATLAB命令窗口中输入help ga 并按回车查看参数的含义~
, E1 m: f: d; t7 I
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5