首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有二元变量的目标函数

带有二元变量的目标函数
EN

Stack Overflow用户
提问于 2022-02-01 18:35:33
回答 1查看 129关注 0票数 0

我正在研究一种复杂的模型。不幸的是,我不得不改变目标函数的公式,基于以前的值是怎样的。

特别是,我的目标函数由两个术语组成,称为A和B,它们具有不同的数量级(A通常比B高2或3个数量级,但这可能有所不同)。

为了保证A和B具有相同的公式权重,我需要将我的目标函数写成如下:

代码语言:javascript
运行
复制
objective= A + B*K`

其中K是使第二项在A的相同尺度/数量级上产生的值。

代码语言:javascript
运行
复制
example:
A=4e10
B=2e3
K=1e(10-3)=1e7

问题是,为了知道K,我必须知道A和B的值,但是pyomo没有给出值,它只是将一个表达式传递给求解者。

我读到过,由于聪明地使用二进制变量可以克服这个问题,任何人都可以提出一个有用的方法吗?

亲切的问候

EN

回答 1

Stack Overflow用户

发布于 2022-02-03 17:01:24

看起来你在处理一个多目标优化问题。由于在求解模型之前不知道A和B所涉及的变量的值,所以不能根据A和B来定义K的值。

解决多目标优化问题有不同的方法,您可以针对特定的问题进行考虑(例如,ε-约束方法)。在这些问题中,通常您不感兴趣的是寻找单个解,而是找到一组Pareto最优解,这些最优解在可行区域内不受任何其他解的支配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70945775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档