| Algoritme :: binnpack ALGORITHM :: BINPACK is een PERL-module die artikelen efficiënt in de bakken kan verpakken. |
Download nu |
Algoritme :: binnpack Rangschikking & Samenvatting
- Vergunning:
- Perl Artistic License
- Naam uitgever:
- Carey Tilden
- Uitgever website:
- http://search.cpan.org/~cbtilden/Algorithm-BinPack-0.5/lib/Algorithm/BinPack.pm
Algoritme :: binnpack Tags
Algoritme :: binnpack Beschrijving
Algoritme :: binnpack is een Perl-module die items efficiënt in de bakken kan verpakken. Algoritme :: BINPACK is een PERL-module die de artikelen efficiënt in bins.synopsalisalgoritme kan verpakken :: BINPACK Pakt de artikelen efficiënt in de bakken in. De bakken krijgen een maximale grootte en items zijn ingepakt met zo min mogelijk lege ruimte. Een voorbeeldgebruik zou een back-up maken van bestanden naar CD, terwijl het aantal vereiste schijven wordt geminimaliseerd. mijn $ bp = algoritme :: binnpack-> nieuw (binsize => 4); $ BP-> Add_item (Label => "One", Size => 1); $ bp-> add_item (label => "twee", maat => 2); $ bp-> add_item (label => "drie", maat => 3); $ bp-> add_item (label => "vier", maat => 4); Voor ($ BP-> Pack_bins) {Print "-informaat:", $ _-> {Size}, "N"; Print "Item:", $ _-> {label}, "n" voor @ {$ _-> {items}}; } Methoden NewCreates Een nieuw algoritme :: BINPACK OBJECT. De maximale bakgrootte wordt gespecificeerd als een genaamd argument 'binsize' en is vereist. Een fudge-factor kan worden gespecificeerd als een genaamd argument 'fudge'. Als een fudge-factor is opgegeven, worden itemgrootte afgerond op een aantal deelbaar door de fudge-factor. Dit kan helpen bij het houden van items met vergelijkbare maten op volgorde van hun labels. mijn $ bp = algoritme :: binnpack-> nieuw (binsize => 4); Mijn $ BP = algoritme :: BINPACK-> NIEUW (binsize => 100, fudge => 10); add_itemadds Een item dat in een prullenbak moet worden verpakt. Vereiste benoemde argumenten zijn 'label' en 'grootte', maar andere kunnen worden opgegeven en worden opgeslagen. Een optioneel 'bin'-argument kan worden gebruikt om een item handmatig in de opgegeven bin te plaatsen. $ BP-> Add_item (Label => 'One', Size => 1); $ bp-> add_item (label => 'twee', maat => 2, desc => 'het tweede cijfer'); $ bp-> add_item (label => 'nul', grootte => 3, bin => 0); $ bp-> add_item (QW (label drie maat 3)); $ BP-> Add_item (QW (Label viergrootte 4 willekeurige sleutel)); prefill_bin (verouderde methode) Add_item weet nu hoe het 'bin'-argument rechtstreeks moet hanteren, dus deze methode is redundant.pack_binsspacks de items in de bakken. Deze methode probeert te vertrekken zo min mogelijk lege ruimte in elke bak. Het retourneert een lijst met hashrefs met de sleutel 'Size' met de totale bakgrootte en 'items' met een arrayref die de items in de prullenbak vasthoudt. Elk item is op zijn beurt een HASHREF met het toetsen 'Label', 'Size' en andere toegevoegd aan het item. Als een fudge-factor werd gebruikt, bevat elk item een sleutel 'fudgesize', die het formaat is dat dit item is gevoerd. Voor mijn $ Bin ($ BP-> Pack_bins) {Print "bin-maat:", $ bak -> {size}, "n"; Voor mijn $ item (@ {$ bin -> {Items}}) {printf "% -6s% -20sn", $ _, $ item -> {$ _} voor toetsen% {$ item}; print "--- n"; } } Vereisten: · Perl
Algoritme :: binnpack Gerelateerde software