geatpy icon indicating copy to clipboard operation
geatpy copied to clipboard

目标函数是递归函数,这种情况能求解吗?

Open thinker310 opened this issue 2 years ago • 5 comments

你好,请问目标函数是递归形式还能用geatpy求解吗?如下图所示,X1,X2是决策变量(图中是随便设的数),A是参数矩阵,cumula()是目标函数,是个最小优化问题,求X1,X2为何值时,cumula()值最小。 image 我尝试了一下,报错说目标函数值矩阵的格式不合法,这样有办法解决吗?

thinker310 avatar Jul 11 '21 07:07 thinker310

只要最后能给ObjV赋值,中间可以用任何方式计算。这块跟工具箱是无关的。

geatpy-dev avatar Jul 11 '21 07:07 geatpy-dev

好的,感谢您的回复。目前在X1,X2已知的情况下,cumula()是可以返回一个实数值的,但是在赋值给ObjV时,报错说目标数值矩阵的数据格式不合法,请问有什么解决办法吗?谢谢! image image

thinker310 avatar Jul 11 '21 08:07 thinker310

熟看《Geatpy数据结构》文档,以及熟练使用Numpy就可以解决了~ 相当简单的。

geatpy-dev avatar Jul 11 '21 08:07 geatpy-dev

好的谢谢,还有个小问题就是,problem.py文件和main.py文件我可以合并在一个文件里写吗?(由于条件限制,我不能把目标函数单独写在一个文件里。)

thinker310 avatar Jul 11 '21 09:07 thinker310

@thinker310 可以的,这是python编程的基本操作。

geatpy-dev avatar Jul 11 '21 11:07 geatpy-dev