python - 优化线性方程以获得最大最小值
问题描述
我有一组线性方程,我想以这样一种方式进行优化,以使任何方程的最小结果都是最好的。
for example
Solve for
x1*1 + x2*2
x1*3 + x2*4
constraint
x1+x2=<12
我在 python 中使用 Pulp 进行线性最大化,结果产生一个输出太大而另一个输出太小。目前,我正在通过设置另一个约束来检查最佳最小值
x1*1 + x2*2 >= minval
x1*3 + x2*4 >= minval
我现在正在迭代 minval 的最佳可能值,直到问题不可行,但这是 CPU 昂贵的方法,因为优化针对minval的每个值运行
解决方案
引入一个新变量z
和新约束z <= x1 + 2*x2
,z <= 3*x1 + 4*x2
然后最大化z
。这与您尝试使用的类似minval
,但告诉线性规划求解器优化该值,而不是自己上下摆弄它。
推荐阅读
- sql - 是否可以将多个 SQL 语句组合在一起?
- pandas - 如何使数据透视表的熊猫索引成为列名的一部分?
- java - XSSFSheet Apache POI - 是否可以锁定所有内容但允许更新和插入行?
- konvajs - Konva onDragMove 和 onDragEnd 不更新位置?
- amazon-web-services - DynamoDB 一对多关系非规范化或邻接?
- c# - C#; EF 数据库优先模式
- c++ - 这是如何运作的?指向指针赋值的指针
- vue.js - 寻找一种仅在元素被截断时显示工具提示的方法
- postgresql - 尝试连接数据库时遇到错误 08001
- c# - 一次性加密和散列已加密的内容