Avatar billede dustbunny Nybegynder
15. september 2004 - 20:35 Der er 2 kommentarer og
1 løsning

Vægtproblem hjælp søges

Hejsa

Kan det lade sig gøre at lave en kode der automatisk putter produkter i kasser, og sørger for der bliver fyldt så meget så muligt i den enkelte kasse?

Altså jeg har nogle faste vægt værdier som ved post danmark:

maxvægt pris
500      25
1000    45
5000    50
10000    60
15000    85
20000    95

Vægten er i gram

Det er ikke noget problem hvis produkterne samlet vejer under 20000 gram, men køber man mere sker der noget skidt.
Jeg var startet på en kode men droppede den igen. Det jeg gjore var at begynde på at fylde en ny kasse hvis den oversteg 20000 gram ved næste post. Det bliver bare noget skidt hvis kassen kun er fyldt op til f.eks. 16000 gram og hvis næste produkt så vejer 5000 gram. Så begynder den på en ny kasse.
Det jeg så vil have den skal gøre er at teste sig frem ud fra alle produkter og så komme så tæt på de 20000 gram så muligt og derefter begynde på en ny kasse med de resterende produkter i. Og selvfølgelig hvis den så fylder 2-3-4 osv kasser med 20000 gram skal den løbende regne det ud.

Doh...det var en ordentlig omgang :/

Måske der var en anden måde?

mvh
db
Avatar billede dustbunny Nybegynder
15. september 2004 - 20:46 #1
Ehmm...et lille eksempel
Det er en shop til en frima der sælger maling og tilbehør.

Kunden køber først en spand maling på 10 kg og så en pensil på få gram. Så beslutter han sig for han lige skal have en anden spand maling på 10 kg.

Hvis den bare starter på en ny kasse når vægten bliver over 20 kg vil ekspeditions gebyret være på 95 kr. for den ene spand maling og en pensil. Og 60 kr for den anden spand. Samlet vil det komme op på 155 kr.

Kunne man lave et system der siger at de 2 spande tilsammen vejer nøjagtig 20000 gram og dermed kun koster 95 kr. Og så sende en mindre pakke på 500 gram til 25 kr for den ene pensil.

Kan i se problemet :/
Avatar billede oskar Nybegynder
15. september 2004 - 22:50 #2
Princippet i processen skal være være følgende:
Listen af varer sorteres faldende.
Derefter tages den første vare fra listen over i kasse 1.
Det undersøges om næste vare kan være i kassen, hvis ikke læses videre på listen til en den finder en vare der kan være der.
Når den mindste vare kan være i kassen og den er fuld startes på en ny kasse.

Eksempelliste: 15000 10000 5050 4000 3000 125
Kasse1: 15000 + 4000 + 125 = 19125
Kasse2: 10000 5000 3000 = 18000
Avatar billede dustbunny Nybegynder
07. december 2005 - 01:09 #3
Tror da vist hellere jeg må lukke den her. Brugte en mere enkelt metode til at løse problemet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester