# HG changeset patch
# User Nathann Cohen <nathann.cohen@gmail.com>
# Date 1277876785 -7200
# Node ID 415efe09065e11cb108eec6034845dbd44b0077f
# Parent f7eb1d1dedf067a86f71c36de29e1d420bcdec44
trac 9392 -- Broken docstring in binpacking
diff -r f7eb1d1dedf0 -r 415efe09065e sage/numerical/optimize.py
a
|
b
|
|
697 | 697 | `1/5, 1/4, 2/3, 3/4, 5/7`:: |
698 | 698 | |
699 | 699 | sage: from sage.numerical.optimize import binpacking |
700 | | sage: print sorted(binpacking([1/5,1/3,2/3,3/4, 5/7])) # optional - GLPK, CBC |
701 | | [[1/5, 3/4], [1/3, 2/3], [5/7]] |
| 700 | sage: values = [1/5, 1/3, 2/3, 3/4, 5/7] |
| 701 | sage: bins = binpacking(values) # optional - GLPK, CBC |
| 702 | sage: len(bins) |
| 703 | 3 |
| 704 | |
| 705 | Checking the bins are of correct size :: |
| 706 | |
| 707 | sage: all([ sum(b)<= 1 for b in bins ]) |
| 708 | True |
| 709 | |
| 710 | Checking every item is in a bin :: |
| 711 | |
| 712 | sage: b1, b2, b3 = bins |
| 713 | sage: all([ (v in b1 or v in b2 or v in b3) for v in values ]) |
| 714 | True |
702 | 715 | |
703 | 716 | One way to use only three boxes (which is best possible) is to put |
704 | 717 | `1/5 + 3/4` together in a box, `1/3+2/3` in another, and `5/7` |