桑云朵 发表于 2006-4-4 15:40

请教各位大侠一个优化问题!

关于一个非线性约束,
(x1^2+x2^2)/( x1^2+x2^2-2*x1*x2*cos(2t)) dt
前面有一个积分符号实在不知道怎么打出来,积分上下限是11/75,6/25

fun*1000*41/48-0.06<0 (非线性约束式)
fun即为这个积分式。
请问这个约束该怎么写,直接放在约束文件函数里行不(但它还要先求出积分式的结果),好像不能直接写成c(n)=……的形式,请问该怎么写呢?

happy 发表于 2006-4-4 22:17

应该是可以的,可以参考帖子
http://forum.vibunion.com/thread-8802-1-1.html

桑云朵 发表于 2006-4-5 09:56

谢谢帮忙!
但我还是头大!

happy 发表于 2006-4-5 14:53

多大几次以后就不用大了

cdwxg 发表于 2006-4-5 15:06

恩,大几次之后基本会收敛到一个极限的

桑云朵 发表于 2006-4-5 15:44

??? Error using ==> fmincon
FMINCON cannot continue because user supplied nonlinear constraint function
failed with the following error:

Undefined function or variable 'x'.

Error in ==> D:\matlab\优化\tuoyuanyouhua.m
On line 3 ==> =fmincon(@ff8,x0,[],[],[],[],[],[],nonlcon)
为什么老是这样呢!!!

happy 发表于 2006-4-6 09:18

??? Error using ==> fmincon
FMINCON cannot continue because user supplied nonlinear constraint function
failed with the following error:

Undefined function or variable 'x'.

Error in ==> D:\matlab\优化\tuoyuanyouhua.m
On line 3 ==> =fmincon(@ff8,x0,[],[],[],[],[],[],nonlcon)
为什么老是这样呢!!!
把代码贴出来,可能是你的function写的有问题

桑云朵 发表于 2006-4-6 17:25

function =fun2(x)
c1=x(1)-x(2);
c2=25-(+(atan(-(x(2)^2-x(1)^2)^0.5/x(1))));
c3=17*x(2)-x(2)^2+x(1)^2;
c4=3*x(1)*x(2)-x(1)^2-x(2)^2;
c5=41/48*(x(1)^2+x(2)^2)-1.25*(x(2)-x(1))^2;
c6=0.4*(x(1)+x(2))^2-41/48*(x(1)^2+x(2)^2);
fun=int((x(1)^2+x(2)^2)/(x(1)^2+x(2)^2-2*x(1)*x(2)*cos(25*pi*t/3)),t,11/75,6/25);
c7=fun*1000*41/48-0.06;
g=[];
这是我写的函数.运行后老是这样:
??? Error using ==> fmincon
FMINCON cannot continue because user supplied nonlinear constraint function
failed with the following error:

Undefined function or variable 't'.

Error in ==> D:\matlab\优化\tuoyuanyouhua.m
On line 3 ==> =fmincon(@fun1,x0,[],[],[],[],[],[],nonlcon)
>>

happy 发表于 2006-4-6 20:09

你给初始值了吗?

桑云朵 发表于 2006-4-11 10:44

我的初始值给了x0=
现在程序运行出来了,不过却出来了下面的结果:
Optimization terminated: No feasible solution found.
Magnitude of directional derivative in search direction
less than 2*options.TolFun but constraints are not satisfied.

这又是怎么回事啊?

happy 发表于 2006-4-11 21:26

没有找到可行解。
可能是你的约束条件太强了
或者是你给的初始解不好,多换几个初始解试试。
页: [1]
查看完整版本: 请教各位大侠一个优化问题!