python调用CPLEX求解——装箱问题
由于论文需要,我刚接触学习python以及CPLEX,由于网上相关资源很少,所以想把自己学习的过程记录下来,有不对的地方欢迎大家批评指正,也希望能得到这方面大佬的指导,同时也欢迎刚接触这方面的小伙伴一起讨论交流。
前言
由于这是一个实例,所以假设各位伙伴已经会使用python了,也已经将cplex和docplex包安装好了,如果没有安装好的伙伴可以看看这个链接的文章(https://zhuanlan.zhihu.com/p/101713127
或者这篇https://blog.csdn.net/robert_chen1988/article/details/80946466)安装问题有很多大佬都已经写过了,大家多找找。
这个装箱问题是我在找例子练手的时候发现的,但是使用的代码和原文是不一样的,想了解不同方法的伙伴可以去看看
参考原文章–装箱问题的CPLEX求解
问题描述
假设现有m = 5 个装货空箱,每个装货空箱的最大载重量是W = 5000,现有n = 8个客户需要运送货物,每个客户的货物重量是 weight = [1050, 1730, 2575, 3540, 1220, 1340, 1530, 1270],如何用最少的箱子将这个货物都运出去呢?
建模
决策变量: 这里有两类决策变量,首先对于空箱 i ( i = 1,…,m, 集合 I ) 都要决策选还是不选,用
y
i
y_{i}
y
i
表示, 选为1ÿ