我试图找到一个由变量组成的对象方程,这些变量可以是1、0或-1,结果可以是0、60、90、180。 有没有可以帮助我的工具? 还是我需要找一个数学家来帮助我?
我正在尝试使用纸浆线性编程来解决生产计划问题。 机器的设置时间取决于设置时间之前和之后的项目。 我尝试使用if else语句为计划分配设置时间,但是纸浆线性编程似乎不允许我将if else语句与变量一起使用。 我使用一个简单的减法来指出设置时间前后的项目。
我的一小部分数据如下所示。 从t1到t9安排了三个项目a,b,c。 数据是二进制的,以显示该时隙是否正在处理。
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9
a 1 1 0 0 0 0 0 0 0 0
b 0 0 0 0 0 1 1 1 1 1
c 0 0 1 1 1 0 0 0 0 0
[[1, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
[0, 0, 1, 1, 1, 0, 0, 0, 0, 0]]
我在设置时间之前和之后搜索项目 减去连续变量。 设置时间之前的项目为1, -1是设置时间之后的项目。
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9
a 0 1 0 0 0 0 0 0 0 0
b 0 0 0 0 -1 0 0 0 0 1
c 0 -1 0 0 1 0 0 0 0 0
[[0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, -1, 0, 0, 0, 0, 1],
[0, -1, 0, 0, 1, 0, 0, 0, 0, 0]]
现在我需要计算每种情况的准备时间, 并尽量减少设置时间。
if a == 1 and b == -1 then setup_time == 60
if a == 1 and c == -1 then setup_time == 90
if b == 1 and a == -1 then setup_time == 60
if b == 1 and c == -1 then setup_time == 180
if c == 1 and a == -1 then setup_time == 90
if c == 1 and b == -1 then setup_time == 180
else 0
使用纸浆lp优化器时,我似乎无法使用带变量的if-else语句,因此每种情况下我都需要一个方程式。
任何评论或建议将不胜感激。
谢谢。