问题描述
list = [1000,1200,2400,1700,3000,500,2800] # N number of data
bin = [3100,2700,2400] # N number of bins with all sizes available
我已经使用过https://pypi.org/project/binpacking/库,但是它不适用于多种尺寸的垃圾箱。 我想要确切的库或代码或算法,以使用最低的垃圾箱和最少的浪费来准确地计算答案。 我尝试通过将此2D装箱库https://github.com/secnot/rectpack转换为1D来使用它,但是它有一个漏洞,无法计算出最低的浪费。对于前。如果只剩下两个值400和500,则该算法应仅使用2400大小的bin,而是采用行或列表中下一个bin的值。
解决方法
我设法为这个问题创建了自己的逻辑。如您所见,我在代码中添加了许多注释,这些注释将帮助您理解代码的不同部分。
import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;
import org.testng.annotations.DataProvider;
@CucumberOptions(plugin = { "html:target/results.html","message:target/results.ndjson" })
public class RunCucumberTest extends AbstractTestNGCucumberTests {
@DataProvider(parallel = true)
@Override
public Object[][] scenarios() {
return super.scenarios();
}
}