Python PuLP:保持变量彼此相关
Python PuLP: Keep variables relative to each other
我想用 PuLP 最小化 x1+x2+x3,它已经很好用了。然而,结果通常包括三个中的一个为零,而算法仅使用另外两个。有没有办法让它们保持相对?他们三者的成本相同。
例如,不是 PuLP 用 4+0+5 解方程,而是应该用 3+3+3 之类的东西。这可能吗?
单纯形算法的本质总是会找到极值点解,即
max x+y+z
x+y+z <=1
x,y,z >= 0
返回的解决方案将始终是
x=1 y=0 z=0
或
x=0, y=1, z=0
或
x=0, y=0, z=1
使用线性公式实际上很难强制使用内点解
x=1/3, y=1/3, z=1/3
您可能需要添加一个非线性 objective 函数才能使其正常工作,而纸浆无法对其进行建模:-(
能够通过在增加变量阈值的同时循环计算来实现我想要的某种东西:
x <= threshhold
y <= threshhold
z <= threshhold
这意味着要牺牲一些计算能力,但就我而言,实际上并没有那么多时间来完成工作。
我想用 PuLP 最小化 x1+x2+x3,它已经很好用了。然而,结果通常包括三个中的一个为零,而算法仅使用另外两个。有没有办法让它们保持相对?他们三者的成本相同。
例如,不是 PuLP 用 4+0+5 解方程,而是应该用 3+3+3 之类的东西。这可能吗?
单纯形算法的本质总是会找到极值点解,即
max x+y+z
x+y+z <=1
x,y,z >= 0
返回的解决方案将始终是
x=1 y=0 z=0
或
x=0, y=1, z=0
或
x=0, y=0, z=1
使用线性公式实际上很难强制使用内点解
x=1/3, y=1/3, z=1/3
您可能需要添加一个非线性 objective 函数才能使其正常工作,而纸浆无法对其进行建模:-(
能够通过在增加变量阈值的同时循环计算来实现我想要的某种东西:
x <= threshhold
y <= threshhold
z <= threshhold
这意味着要牺牲一些计算能力,但就我而言,实际上并没有那么多时间来完成工作。