Algoritme :: binnpack

ALGORITHM :: BINPACK is een PERL-module die artikelen efficiënt in de bakken kan verpakken.
Download nu

Algoritme :: binnpack Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • 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

Noid

NOID is een PERL-module die routines bevat om leuke ondoorzichtige identificatoren te beheren en te beheren. ...

214

Downloaden