[英]PULP Optimization with unique parts only counting towards objective function?
我认为首先写下一个数学模型总是有用的。 就像是:
现在可以轻松地在PuLP中转录该模型。 您可以放松y
以使其在0到1之间连续(这可能对某些求解器有所帮助)。 K=3
的结果应类似于:
---- 34 VARIABLE x.L machine on/off
A 1.000, C 1.000, D 1.000
---- 34 VARIABLE y.L groups covered
group1 1.000, group2 1.000, group3 1.000, group4 1.000
---- 34 VARIABLE z.L = 4.000 number of groups covered
改变K
来研究权衡(您可以绘制K
z
一些漂亮图)。
注意:这个问题有点像集合覆盖问题,而且解决起来非常快。 对于200组,100台机器,K = 20的数据帧,它在2.5秒内即可解决(MIP模型具有201个方程式和300个二进制变量):
---- 27 VARIABLE x.L machine on/off
m1 1.000, m5 1.000, m10 1.000, m14 1.000, m17 1.000, m21 1.000, m28 1.000, m29 1.000
m36 1.000, m41 1.000, m50 1.000, m52 1.000, m79 1.000, m81 1.000, m82 1.000, m83 1.000
m85 1.000, m92 1.000, m93 1.000, m100 1.000
---- 27 VARIABLE y.L groups covered
group1 1.000, group2 1.000, group3 1.000, group4 1.000, group5 1.000, group6 1.000
group7 1.000, group8 1.000, group10 1.000, group11 1.000, group12 1.000, group13 1.000
group14 1.000, group15 1.000, group16 1.000, group18 1.000, group19 1.000, group20 1.000
group21 1.000, group22 1.000, group23 1.000, group25 1.000, group26 1.000, group28 1.000
group29 1.000, group31 1.000, group32 1.000, group33 1.000, group34 1.000, group35 1.000
group37 1.000, group38 1.000, group39 1.000, group40 1.000, group41 1.000, group42 1.000
group43 1.000, group44 1.000, group45 1.000, group46 1.000, group47 1.000, group48 1.000
group49 1.000, group50 1.000, group51 1.000, group52 1.000, group53 1.000, group54 1.000
group55 1.000, group56 1.000, group57 1.000, group58 1.000, group59 1.000, group60 1.000
group62 1.000, group63 1.000, group64 1.000, group65 1.000, group67 1.000, group68 1.000
group69 1.000, group70 1.000, group71 1.000, group74 1.000, group75 1.000, group76 1.000
group77 1.000, group78 1.000, group79 1.000, group80 1.000, group81 1.000, group82 1.000
group83 1.000, group84 1.000, group85 1.000, group86 1.000, group87 1.000, group88 1.000
group89 1.000, group90 1.000, group91 1.000, group92 1.000, group94 1.000, group95 1.000
group96 1.000, group97 1.000, group98 1.000, group99 1.000, group100 1.000, group102 1.000
group103 1.000, group104 1.000, group105 1.000, group106 1.000, group107 1.000, group108 1.000
group109 1.000, group110 1.000, group111 1.000, group112 1.000, group113 1.000, group114 1.000
group115 1.000, group116 1.000, group117 1.000, group118 1.000, group119 1.000, group120 1.000
group121 1.000, group122 1.000, group123 1.000, group124 1.000, group126 1.000, group127 1.000
group128 1.000, group129 1.000, group130 1.000, group131 1.000, group132 1.000, group133 1.000
group134 1.000, group135 1.000, group136 1.000, group137 1.000, group138 1.000, group139 1.000
group140 1.000, group141 1.000, group142 1.000, group143 1.000, group144 1.000, group146 1.000
group147 1.000, group148 1.000, group150 1.000, group151 1.000, group152 1.000, group153 1.000
group155 1.000, group156 1.000, group157 1.000, group158 1.000, group159 1.000, group160 1.000
group161 1.000, group162 1.000, group163 1.000, group164 1.000, group165 1.000, group166 1.000
group167 1.000, group168 1.000, group169 1.000, group170 1.000, group171 1.000, group173 1.000
group176 1.000, group177 1.000, group178 1.000, group179 1.000, group180 1.000, group181 1.000
group182 1.000, group183 1.000, group186 1.000, group187 1.000, group188 1.000, group189 1.000
group190 1.000, group191 1.000, group192 1.000, group194 1.000, group196 1.000, group197 1.000
group198 1.000, group199 1.000, group200 1.000
---- 27 VARIABLE z.L = 177.000 number of groups covered
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.