通过解决装箱问题,将加权任务平均分配给工人。这个包为用户提供了一个抽象来扩展

binpacker的Python项目详细描述


Build StatusCoverage Status装箱机===

通用装箱问题解决程序。

Given a set of items with weight information and capacity of a bin, Binpacker determines which items can fit in the bin with that capacity and continues to pack all items in new bins in a way that it will utilize the space of each bin. In the other word, Binpacker can be used to determine what is the minimum number of bins we can use to pack all items with different weights.

要求

  • python 3.4(已测试)

目标

这个库的最终目标是为 解决各种应用中的装箱问题。

代码示例

假设一个箱子的容量(11)和一个包含 不同的重量,我们想在 利用每个箱子的空间。

importtimefrombinpacker.binpackerimportBinpackerfrombinpacker.binpackerimportItempacker=Binpacker(11)packer.items=[Item('A',4),Item('B',1),Item('C',2),Item('D',6),Item('E',9),Item('F',3),Item('G',7),Item('H',2),Item('I',5)]j=0whileTrue:packer.pack_items()fori,xinenumerate(packer.bins):print('Bin ({}%) {}: {}'.format(x.utilization,i,[i.nameforiinx.get_items()]))print('----------------------------------')packer._items.append(Item('Z{}'.format(i),2))j+=1time.sleep(3)output:Bin(100.0%)0:['H','C','F','A']Bin(100.0%)1:['I','D']Bin(90.91%)2:['B','E']Bin(63.64%)3:['G']----------------------------------Bin(100.0%)0:['H','C','F','A']Bin(100.0%)1:['I','D']Bin(90.91%)2:['B','E']Bin(81.82%)3:['Z0','G']----------------------------------Bin(100.0%)0:['H','C','F','A']Bin(100.0%)1:['I','D']Bin(90.91%)2:['B','E']Bin(100.0%)3:['Z0','G','Z1']----------------------------------Bin(100.0%)0:['H','C','F','A']Bin(100.0%)1:['I','D']Bin(90.91%)2:['B','E']Bin(100.0%)3:['Z0','G','Z1']Bin(18.18%)4:['Z2']----------------------------------Bin(100.0%)0:['H','C','F','A']Bin(100.0%)1:['I','D']Bin(90.91%)2:['B','E']Bin(100.0%)3:['Z0','G','Z1']Bin(36.36%)4:['Z2','Z3']----------------------------------Bin(100.0%)0:['H','C','F','A']Bin(100.0%)1:['I','D']Bin(90.91%)2:['B','E']Bin(100.0%)3:['Z0','G','Z1']Bin(54.55%)4:['Z2','Z3','Z4']
  • 注意(xxx%)是丰满度的百分比

贡献者

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在项目文件夹中找不到java文件   java我可以分配变量,然后马上引用它们吗?   即使listview获取了一个项目,java Textview仍然可见   执行命令行时发生java ECLIPSE异常   java使用1个微调器动态更改2个带有if函数和notifyDataSetChanged的微调器?   java css选择器,用于在selenium webdriver中选择表中的特定行和列   unix Java在AIX中不工作   java为什么要输出映射键,需要在forEach之前使用map(map.Entry::getKey),而forEach内部的getKey()不会给出相同的结果?   java我想修剪一个被XML解析的输出   maven以编程方式将工件部署到Nexus的快速方法(Java)   java如何使用特定的javac二进制版本?   java HstSiteConfigurer:组件管理器初始化失败   当切换到选项卡布局/片段时,java Android应用程序崩溃   java JComboBox是一种原始类型。对泛型类型JComboBox<E>的引用应该参数化   为什么浏览器不能用BDD eclipse读取Java中的ID,而其他网站却用相同的代码读取   Netbeans Derby连接上不存在java表视图异常   oop找不到符号:Java