如何编码没有明确目标函数的优化程序

时间:2017-07-19 13:44:59

标签: python mathematical-optimization linear-programming cvxopt cvxpy

我正在尝试使用CVXPY来解决以下形式的线性程序:

10人回复调查询问他们的家庭,年龄,性别和年龄。从这些回复中,我写了很多约束和统计数据,例如“所有10个人的平均年龄= 40”,或“单亲家庭数量= 0”。 每个字段(给定人的年龄,种族等)表示为CVXPY变量。目标是使用这些约束来重新生成原始调查答复(假设局外人看到发布的约束而没有看到调查答复,并希望确定每个人的原始调查答案是什么)。

我可以将我的约束编码为CVXPY约束,但是我没有目标函数来最大化,因为我只有很多约束。有没有办法对我的目标函数进行编码,以返回给定变量赋值所满足的约束数,以便在满足所有约束时最大化目标函数?我无法确定是否有办法从CVXPY文档中做到这一点。或者,是否有另一个开源优化器更适合解决此程序?我已经使用SAT求解器解决了它,现在想用非线性优化器来完成它。

示例数据采用以下格式:ID,家庭#,年龄,性别,种族,代:

ID无关紧要,仅用于帮助我跟踪其他代码中的行号。

1 1 80 1 1 2
2 1 40 0 0 1
3 1 70 1 0 2
4 1 30 1 1 1 5 1 90 0 0 2
6 2 10 0 1 0
7 2 10 0 1 0
8 2 10 1 0 0
9 2 40 1 0 1
10 2 20 0 1 1

谢谢你, 基督教

0 个答案:

没有答案