Kursinnehåll
Matlab-Grunder
Matlab-Grunder
Tillämpning: Logistikproblem
Fortsättningen på det du lärde dig i föregående kapitel innebär att du här får hjälpa en distributör som försöker optimera hur de kombinerar sina produkter till sändningar. Du kommer att omsätta allt du lärt dig i praktiken och samtidigt ta till dig flera nya detaljer.
Uppgift
Förstå målen
Analysera programmets syften och använd videon som vägledning och inspiration;Lokalisera Excel-filen
Identifiera filen som innehåller data om behållare och branschstandarder för pallar;Importera data
Använd ett bibliotek som Pandas för att läsa in Excel-filen och extrahera data om behållare och branschstandarder;Generera kombinationer av behållare
Skapa alla möjliga kombinationer av behållare för att gruppera dem till pallar, enligt exemplet i föregående kapitel;Utvärdera varje kombination
För varje möjlig kombination av behållare:Analysera varje pall: beräkna genomsnittliga egenskaper (t.ex. draghållfasthet och procent defekter) för behållarna i varje pall;
Betygsätt och prissätt pallar: tilldela betyg och beräkna priser baserat på genomsnittsvärden och branschstandarder från Excel-filen;
Jämför försäljningspriser: följ den bästa kombinationen genom att jämföra totalt försäljningspris för aktuell kombination med tidigare resultat;
Identifiera bästa kombinationen
När den optimala kombinationen har identifierats, extrahera motsvarande behållaretiketter med hjälp av radindex;Exportera resultat
Spara slutresultaten, inklusive bästa kombination och tillhörande detaljer, tillbaka till en Excel-fil;Kvalitetskontroll
Kontrollera programmets utdata mot resultaten i videon och säkerställ att det optimala priset stämmer;
Validera pallegenskaper mot branschstandarder med hjälp av kalkylbladsberäkningar;
Iterera och förbättra
Utforma ditt program med en modulär struktur för bättre översikt;
Justera och testa din implementation iterativt för att säkerställa noggrannhet och tillförlitlighet.
Dataimport
Behållaregenskaper: importera som en matris med egenskaper som vikt, draghållfasthet och procent defekter;
Behållaretiketter: importera som en separat matris;
Branschstandarder för pallbetyg: importera som en matris med minimikrav på draghållfasthet, maximal procent defekter och pris per pall med 3 behållare (7500 lbs);
Namn på branschbetyg: importera som en cell-array;
Generera kombinationer
Använd istället för
Generate_Combinations_MMS_M
från kapitel 3 funktionenperms
för att generera permutationer direkt;
Identifiera behållaretiketter
Behållaretiketter registreras som index som anger radpositioner i originaldatan. Omvandla dessa index till behållaretiketter med hjälp av radindex från matrisen med behållaretiketter;
Säkerställ att radindexen matchar korrekt mellan behållaretiketter och originaldata;
Hantering av dimensioner och index
2D-matriser: används för att importera och exportera data till och från Excel. Kontrollera att rätt rader och kolumner refereras;
3D-matriser: matrisen
palette_permutations
innehåller alla möjliga kombinationer av behållare samlade i en 3D-matris;Varje rad representerar en specifik kombination av behållare till pallar;
Varje kolumn representerar indexet för en specifik behållare;
Den tredje dimensionen (1, 2, 3) motsvarar olika pallar;
Divide and conquer-metod
Begränsa
for
-loopen till en enda iteration (t.ex.for 1:1
) för att slutföra resten av programmet och få ut initiala resultat;Fokusera på att få programmet att exportera behållaretiketter, pallbetyg och optimalt pris till Excel en i taget. Du kan kommentera ut delar av koden för att fokusera på specifika delar;
Verifiering
Kontrollera manuellt de genomsnittliga egenskaperna för varje pall för att säkerställa att de är korrekt beräknade och betygsatta, samt det totala priset för pallkombinationen;
Om problem uppstår, använd dessa verifieringar för att felsöka problem i
for
-loopen;
Testa specifika permutationer
Om resultaten är korrekta för en permutation men en optimal kombination inte hittas, begränsa
for
-loopen till att testa en specifik permutation, t.ex.for 32280:32280
ellerfor 16640:16640
. Detta gör att du kan kontrollera prestandan för mycket olika kombinationer;
Felsökning
Om problemet kvarstår efter att ha verifierat olika permutationer kan det finnas ett problem med logiken som väljer den bästa permutation från de utvärderade iterationerna. Kontrollera videon för att jämföra dina resultat och säkerställa noggrannhet.
Tack för dina kommentarer!