三维线性规划中基于到达时间优先级的托盘位分配约束建模咨询
三维线性规划中基于到达时间优先级的托盘位分配约束建模咨询
嘿,我最近在做一个线性规划模型,卡在了怎么用数学符号表达一个优先级约束上,想请大家帮忙看看。
我的核心需求是:如果店铺i的到达时间比其他所有店铺都早,那么店铺i必须被分配到距离最近的可用托盘位(我猜解决方案会自动选择对应的港口来实现这一点)。
先给大家列一下我定义的参数和变量:
定义的参数
SL:店铺标签集合(用i表示单个店铺)PL:港口标签集合(用j表示单个港口)PSL:托盘位标签集合(用l表示单个托盘位)A_i:店铺i的到达时间(不管选哪个港口,到达时间都是一样的)D_jl:港口j到托盘位l的距离S = range(0, len(SL)):店铺的索引范围P = range(0, len(PL)):港口的索引范围PS = range(0, len(PSL)):托盘位的索引范围
定义的变量
x_ijl:二进制变量,当店铺i通过港口j使用托盘位l时取1,否则取0y_ij:二进制变量,当店铺i使用港口j时取1,否则取0
我的初步思路和困惑
我初步想的约束逻辑是:如果A_i <= A_k对所有i∈S、k∈S成立(也就是店铺i的到达时间是最早的),那么x_ijl必须被分配到距离最小的那个未被占用的托盘位(我已经有约束确保每个托盘位只能被一家店铺使用)。
我试着写了个大概的式子,比如:
如果
A_i <= A_k,那么x_ijl * D_jl <= x_kjl * D_jl
但我完全没底,因为这是我第一次处理带这么多索引的条件语句的线性规划建模。之前我看过一篇关于线性规划中if-else语句怎么写的帖子,但实在没法把那篇的思路适配到我这个多索引的问题上,不知道该怎么调整。
有没有大佬能帮我把这个需求转化成严谨的线性规划约束呀?
备注:内容来源于stack exchange,提问作者Alexander Strarup
相关产品推荐
相关产品推荐

