![数学建模与数学规划:方法、案例及编程实战(Python+COPT/Gurobi实现)](https://wfqqreader-1252317822.image.myqcloud.com/cover/577/52521577/b_52521577.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.4.2 至少有m个等式约束成立
考虑下面与等式约束相关的案例。
【例2.3】考虑一组约束。要求这组约束中至少有m个约束成立。试将上述关系建模为等价的线性约束。
引入0-1变量yk和无约束变量wk(∀k=1,…,K),则上述关系可以建模为以下约束:
![](https://epubservercos.yuewen.com/0DD641/31155568907421606/epubprivate/OEBPS/Images/txt003_30.jpg?sign=1738810998-qfEOyMLGSXqPYgfy6mcylxnbCbsXQ3xL-0-89f6c15304ee251a01d26ebd72aba9d7)
上述约束的含义如下:若yk=1,则wk=0,,因此约束
成立。若yk=0,则wk可取值为
,使约束
成立,但是约束
却不一定成立。此时,若上述模型的最优解中存在
且
,则表示不止有m个等式约束成立。总之,上述模型保证了
(∀k=1,…,K)中至少有m个等式约束成立。
另一种建模的思路是,将等式约束转换为两个不等式约束:
和
。当这两个约束同时成立时,约束
成立。可以通过引入相应的辅助0-1变量标识这两个约束是否分别成立,再引入0-1辅助变量来标识这两个约束是否同时成立。具体的模型大家可以自行尝试完成。