24小时热门版块排行榜    

查看: 1753  |  回复: 7

lanzi3065

新虫 (小有名气)

[求助] 一个关于有约束非线性方程组的求解问题

有个非线性方程组,它的自变量之间要满足约束条件900>x1>x2>x3>……>xn>200,请问如何求解这种约束条件的方程组。之前试过拟牛顿迭代算法,但是在搜索新的自变量值的时候,得到的新的自变量的值通常无法满足约束条件,请问该如何对这种约束条件进行转化?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

可以考虑遗传算法 or 蒙特卡洛方法
2楼2014-04-25 14:35:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lanzi3065

新虫 (小有名气)

引用回帖:
2楼: Originally posted by feixiaolin at 2014-04-25 14:35:49
可以考虑遗传算法 or 蒙特卡洛方法

我现在用的是遗传算法,但是在给出初值时,我怎样可以根据这个约束条件去给出初值呢?x(i)=lb(i)+(ub(i)-lb(i))*rand; 这个公式中的上限和下限都涉及到了方程里面的其他自变量的值,可是一开始,所有的自变量也都没有值啊,怎么解决?
3楼2014-04-25 16:06:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
3楼: Originally posted by lanzi3065 at 2014-04-25 16:06:20
我现在用的是遗传算法,但是在给出初值时,我怎样可以根据这个约束条件去给出初值呢?x(i)=lb(i)+(ub(i)-lb(i))*rand; 这个公式中的上限和下限都涉及到了方程里面的其他自变量的值,可是一开始,所有的自变量也都没 ...

随机分段,各段内随机提取数值做初值,循环N;
继续重复上面的操作。

» 本帖已获得的红花(最新10朵)

4楼2014-04-25 16:41:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lanzi3065

新虫 (小有名气)

送红花一朵
引用回帖:
4楼: Originally posted by feixiaolin at 2014-04-25 16:41:50
随机分段,各段内随机提取数值做初值,循环N;
继续重复上面的操作。...

谢谢您的回复!
您说的这个随机分段是指给每个自变量一个取值范围,然后在那个范围里随机产生一个值作为那个变量的初值吗?可是每个变量都没有一个明确的变化范围啊,它们之间只是要求满足约束条件900>x1>x2>x3>……>xn>200。随机分段随机取值很容易就不满足这个约束条件了呢?
5楼2014-04-28 08:44:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
5楼: Originally posted by lanzi3065 at 2014-04-28 08:44:32
谢谢您的回复!
您说的这个随机分段是指给每个自变量一个取值范围,然后在那个范围里随机产生一个值作为那个变量的初值吗?可是每个变量都没有一个明确的变化范围啊,它们之间只是要求满足约束条件900>x1>x ...

满足的。
6楼2014-04-28 09:05:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lanzi3065

新虫 (小有名气)

引用回帖:
6楼: Originally posted by feixiaolin at 2014-04-28 09:05:00
满足的。...

我试过了,不管是交叉操作还是变异操作,很容易就不满足约束条件了
7楼2014-04-29 10:34:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
7楼: Originally posted by lanzi3065 at 2014-04-29 10:34:32
我试过了,不管是交叉操作还是变异操作,很容易就不满足约束条件了...

不交叉、变异,只做蒙特卡洛穷搜索。
8楼2014-04-29 11:50:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lanzi3065 的主题更新
信息提示
请填处理意见