Simulator 1.0.0
dotnet add package Simulator --version 1.0.0
NuGet\Install-Package Simulator -Version 1.0.0
<PackageReference Include="Simulator" Version="1.0.0" />
paket add Simulator --version 1.0.0
#r "nuget: Simulator, 1.0.0"
// Install Simulator as a Cake Addin
#addin nuget:?package=Simulator&version=1.0.0
// Install Simulator as a Cake Tool
#tool nuget:?package=Simulator&version=1.0.0
API dokumentasjon - WarehouseSimulation
Konfigurering av varehuset
- Det er mulig å bestemme om et varehus er egnet for varer som krever en kald omgivelse, tørr omgivelse, og om et varehus er egnet for varer som er farlig gods. I tillegg er det mulig å bestemme kapasiteten til terminalen i varehuset (stedet for varer som ikke er i en hylle)
- For å konfigurere varehuset, lag en instans av WarehouseConfiguration objektet, og bruk det til å konfigurere varehuset:
a. Kald varehus bruker IsCoolStorage (boolean) b. Tørr varehus bruker IsDryStorage (boolean)
c. Varehus for farlig gods bruker IsHazardous (boolean)
d. Kapasiteten til terminalen i varehuset bruker TerminalCapacity (int)
Oppretting av varehus
- Et varehus opprettes ved å lage en instans av Warehouse objektet med en instans av WarehouseConfiguration objektet som parameter, for eksempel:
Warehouse WarehouseA = new Warehouse(WarehouseConfigurationA)
- For å fylle varehuset med hyller, bruk AddShelf metoden som er definert i Warehouse objektet. AddShelf metoden tar følgende parametere:
a. Navn på hyllen (string)
b. Kapasiteten på hyllen (int)
c. Type som GoodsType.DryGoods/GoodsType.Refrigerated/GoodsType.Hazardous d. Tiden det tar å flytte varer fra terminal til hylle målt i dager (int)
e. Tiden det tar å flytte varer fra hylle til terminal målt i dager (int)
- For å legge til et vare, bruk AddItem metoden som er definert i Warehouse objektet. AddItem metoden tar følgende parametere:
a. Navn på vare (string)
b. Type som GoodsType.DryGoods/GoodsType.Refrigerated/GoodsType.Hazardous
Leveranse og henting av vare
- Når en vare er laget og det skal legges til en leveranse av en vare til terminalen, bruk AddDelivery metoden som er definert i Warehouse objektet. AddDelivery metoden tar følgende parametere:
a. Hvilken dag i simuleringen varen skal ankomme terminalen (int)
b. Type som GoodsType.DryGoods/GoodsType.Refrigerated/GoodsType.Hazardous c. Antall varer (int)
d. Navn på varen som tidligere ble laget med AddItem metoden (string)
- For å legge til en henting av en vare fra terminalen, bruk AddPickup metoden som er definert i Warehouse objektet. AddPickup metoden tar de samme parametere som i AddDelivery metoden
- For å legge til leveranse til terminalen eller henting fra terminalen med intervall, bruk AddWeeklyDelivery eller AddWeeklyPickup metoden som er definert i Warehouse objektet. AddWeeklyDelivery og AddWeeklyPickup metoden tar følgende parametere:
a. Dager mellom hver leveranse av vare eller hver henting av vare (int)
b. Hvilken dag i simuleringen leveransen eller hentingen skal begynne (int)
c. Type som GoodsType.DryGoods/GoodsType.Refrigerated/GoodsType.Hazardous d. Antall varer som skal leveres eller hentes (int)
e. Navn på varen som tidligere ble laget med AddItem metoden (string)
Hvordan starte simulasjonen
- Når alt er konfigurert så startes simulasjonen ved bruk av SimulationRun metoden som er definert i Warehouse objektet, og antall dager simulasjonen skal kjøre er parameter (int) i SimulationRun metoden
- Det er mulig å skrive ut informasjon om en vare ved å bruke PrintItemHistory metoden som er definert i Warehouse objektet og som tar navn på vare og nummer som parameter i en og samme string i formen "Varenavn_100"
Et eksempel med kode
- Varehuset tar imot alle typer varer, og har et terminal som har plass til 1000 varer. Det er 5 hyller for kjølevarer i varehuset, og hver av dem med en kapasitet på 100 varer. Det tar 1 dag å flytte varer fra terminalen til hyllene, og det tar 1 dag å flytte varene fra hyllene til terminalen. En dag kommer det inn 500 bananer fra en produsent og disse skal sendes ut 10 dager senere.
WarehouseConfiguration warehouseConfig = new WarehouseConfiguration {
IsCoolStorage = true,
<img src="./jkpik0ju.png" style="width:5.77083in;height:2.625in" />
IsDryStorage = true, IsHazardous = true, TerminalCapacity = 1000
};
Warehouse myWarehouse = new Warehouse(warehouseConfig);
myWarehouse.AddShelf("H1", 100, GoodsType.Refrigerated, 1, 1); myWarehouse.AddShelf("H2", 100, GoodsType.Refrigerated, 1, 1); myWarehouse.AddShelf("H3", 100, GoodsType.Refrigerated, 1, 1); myWarehouse.AddShelf("H4", 100, GoodsType.Refrigerated, 1, 1); myWarehouse.AddShelf("H5", 100, GoodsType.Refrigerated, 1, 1);
myWarehouse.AddItem("Banan", GoodsType.Refrigerated);
myWarehouse.AddDelivery(1, GoodsType.Refrigerated, 500, "Banan"); myWarehouse.AddPickup(10, GoodsType.Refrigerated, 500, "Banan");
myWarehouse.SimulationRun(10); myWarehouse.PrintItemHistory("Banan_345");
Det er også daglige oppdateringer som viser status for hver av hyllene, men det vises ikke i dette bildet fordi det ville tatt for stor plass.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0-windows7.0 is compatible. |
-
net8.0-windows7.0
- WarehouseSimulation (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 70 | 3/26/2024 |