From eec5c65a5eea73b990f22aa729a3df0367f69300 Mon Sep 17 00:00:00 2001 From: ThibautDemare <fdhp_76@hotmail.com> Date: Mon, 28 Jan 2019 16:14:16 +0100 Subject: [PATCH] Rename FinalDestinationManager species into FinalConsignee --- models/Experiments.gaml | 8 +++---- ...nationManager.gaml => FinalConsignee.gaml} | 8 +++---- models/GraphStreamConnection.gaml | 20 ++++++++--------- models/LogisticsServiceProvider.gaml | 22 +++++++++---------- models/Main.gaml | 10 ++++----- models/Observer.gaml | 16 +++++++------- models/Order.gaml | 2 +- models/Parameters.gaml | 12 +++++----- models/RegionObserver.gaml | 2 +- models/Stock.gaml | 4 ++-- models/Strategies.gaml | 18 +++++++-------- 11 files changed, 61 insertions(+), 61 deletions(-) rename models/{FinalDestinationManager.gaml => FinalConsignee.gaml} (97%) diff --git a/models/Experiments.gaml b/models/Experiments.gaml index c844c13..97d6b61 100644 --- a/models/Experiments.gaml +++ b/models/Experiments.gaml @@ -87,7 +87,7 @@ experiment 'Every output' type: gui { species MaritimeLine aspect: geom; species RiverLine aspect: geom; species Warehouse aspect: base; - species FinalDestinationManager aspect: base; + species FinalConsignee aspect: base; species Provider aspect: base; species LogisticsServiceProvider aspect: simple_base; species Vehicle aspect: base; @@ -99,7 +99,7 @@ experiment 'Every output' type: gui { species MaritimeLine aspect: lightGeom; species RiverLine aspect: lightGeom; species Warehouse aspect: base; - species FinalDestinationManager aspect: base; + species FinalConsignee aspect: base; species Provider aspect: base; } @@ -108,7 +108,7 @@ experiment 'Every output' type: gui { species Road aspect: lightGeom; species MaritimeLine aspect: lightGeom; species RiverLine aspect: lightGeom; - species FinalDestinationManager aspect: aspectPortChoice; + species FinalConsignee aspect: aspectPortChoice; species Provider aspect: base; } @@ -126,7 +126,7 @@ experiment 'Every output' type: gui { species MaritimeLine aspect: lightGeom; species RiverLine aspect: lightGeom; species Warehouse aspect: base_condition; - species FinalDestinationManager aspect: base; + species FinalConsignee aspect: base; species Provider aspect: base; grid cell_stock_shortage; species Vehicle aspect: base; diff --git a/models/FinalDestinationManager.gaml b/models/FinalConsignee.gaml similarity index 97% rename from models/FinalDestinationManager.gaml rename to models/FinalConsignee.gaml index 3147090..9911564 100644 --- a/models/FinalDestinationManager.gaml +++ b/models/FinalConsignee.gaml @@ -1,9 +1,9 @@ -model FinalDestinationManager +model FinalConsignee import "Building.gaml" import "Observer.gaml" -species FinalDestinationManager { +species FinalConsignee { // Used to be called FinalDestinationManager with associated genereric varaibles mostly called fdm // Basic characteristics float surface; int decreasingRateOfStocks; @@ -30,7 +30,7 @@ species FinalDestinationManager { list<float> transportedVolumes <- []; float localVolumeNormalizedAverageCosts <- 0.0; float averageCostsOfNeighbors <- 0.0; - list<FinalDestinationManager> neighbors <- []; + list<FinalConsignee> neighbors <- []; init { @@ -327,7 +327,7 @@ species FinalDestinationManager { } action buildNeighborsList { - neighbors <- at_distance(FinalDestinationManager, neighborsDistance); + neighbors <- at_distance(FinalConsignee, neighborsDistance); if(length(neighbors) = 0){ write "Error : not enough neighbor"; } diff --git a/models/GraphStreamConnection.gaml b/models/GraphStreamConnection.gaml index 4061b44..f58e633 100644 --- a/models/GraphStreamConnection.gaml +++ b/models/GraphStreamConnection.gaml @@ -131,7 +131,7 @@ global { gs_add_edge gs_sender_id:"neighborhood_all" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } } - ask (FinalDestinationManager at_distance(neighborhood_dist)) { + ask (FinalConsignee at_distance(neighborhood_dist)) { if(self != myself){ gs_add_edge gs_sender_id:"neighborhood_all" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } @@ -143,14 +143,14 @@ global { } } - ask FinalDestinationManager { + ask FinalConsignee { ask LogisticsServiceProvider at_distance(neighborhood_dist) { if(self != myself){ gs_add_edge gs_sender_id:"neighborhood_all" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } } - ask (FinalDestinationManager at_distance(neighborhood_dist)) { + ask (FinalConsignee at_distance(neighborhood_dist)) { if(self != myself){ gs_add_edge gs_sender_id:"neighborhood_all" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } @@ -181,8 +181,8 @@ global { } action init_neighborhood_final_destination { - ask FinalDestinationManager { - ask FinalDestinationManager at_distance(neighborhood_dist) { + ask FinalConsignee { + ask FinalConsignee at_distance(neighborhood_dist) { if(self != myself){ gs_add_edge gs_sender_id:"neighborhood_final_destination" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } @@ -211,14 +211,14 @@ global { gs_add_edge gs_sender_id:"neighborhood_warehouse_final" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } } - ask (FinalDestinationManager at_distance(neighborhood_dist)) { + ask (FinalConsignee at_distance(neighborhood_dist)) { if(self != myself){ gs_add_edge gs_sender_id:"neighborhood_warehouse_final" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } } } - ask FinalDestinationManager { - ask (FinalDestinationManager at_distance(neighborhood_dist)) { + ask FinalConsignee { + ask (FinalConsignee at_distance(neighborhood_dist)) { if(self != myself){ gs_add_edge gs_sender_id:"neighborhood_warehouse_final" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } @@ -229,8 +229,8 @@ global { } action init_neighborhood_logistic_final { - ask FinalDestinationManager { - ask (FinalDestinationManager at_distance(neighborhood_dist)) { + ask FinalConsignee { + ask (FinalConsignee at_distance(neighborhood_dist)) { if(self != myself){ gs_add_edge gs_sender_id:"neighborhood_logistic_final" gs_edge_id:(myself.name + self.name) gs_node_id_from:myself.name gs_node_id_to:self.name gs_is_directed:false; } diff --git a/models/LogisticsServiceProvider.gaml b/models/LogisticsServiceProvider.gaml index 0300220..cc7874f 100644 --- a/models/LogisticsServiceProvider.gaml +++ b/models/LogisticsServiceProvider.gaml @@ -12,7 +12,7 @@ species LogisticsServiceProvider { list<int> timeToDeliver <- []; list<Warehouse> lvl1Warehouses <- []; // close warehouse list<Warehouse> lvl2Warehouses <- []; // large warehouse - list<FinalDestinationManager> customers <- []; + list<FinalConsignee> customers <- []; Provider provider; float cumulateCosts <- 0; float averageCosts <- 0; @@ -178,9 +178,9 @@ species LogisticsServiceProvider { */ /** - * When a logistic provider loose a customer (a FinalDestinationManager) he must update the stock on its warehouses + * When a logistic provider loose a customer (a FinalConsignee) he must update the stock on its warehouses */ - TransferredStocks lostCustomer(FinalDestinationManager fdm){ + TransferredStocks lostCustomer(FinalConsignee fdm){ int k <- 0; bool notfound <- true; loop while: k < length(customers) and notfound { @@ -286,7 +286,7 @@ species LogisticsServiceProvider { /* * A recursive method which browse the supply chain and delete the useless supply chain elements from the leafs to the root */ - list<SupplyChainElement> deleteUselessSCE(SupplyChainElement sce, FinalDestinationManager fdm, list<Warehouse> uselessWarehouses){ + list<SupplyChainElement> deleteUselessSCE(SupplyChainElement sce, FinalConsignee fdm, list<Warehouse> uselessWarehouses){ int i <- 0; list<SupplyChainElement> uselessSCE <- []; loop while: i < length(sce.sons) { @@ -336,7 +336,7 @@ species LogisticsServiceProvider { } } - SupplyChainElement connectCustomer(FinalDestinationManager fdm) { + SupplyChainElement connectCustomer(FinalConsignee fdm) { create SupplyChainElement number:1 returns:fdmLeaf { self.building <- fdm.building; self.sons <- []; @@ -352,7 +352,7 @@ species LogisticsServiceProvider { return fdmLeaf[0]; } - SupplyChainElement connectLvl1Warehouse(FinalDestinationManager fdm, SupplyChainElement fdmLeaf, list<Stock> stocksLvl1) { + SupplyChainElement connectLvl1Warehouse(FinalConsignee fdm, SupplyChainElement fdmLeaf, list<Stock> stocksLvl1) { // First we find an appropriate local warehouse Warehouse closeWarehouse <- findWarehouseLvl1(fdm, sizeOfStockLocalWarehouse); do initStock(closeWarehouse, fdm, stocksLvl1, sizeOfStockLocalWarehouse); @@ -416,7 +416,7 @@ species LogisticsServiceProvider { return sceCloseWarehouse; } - action connectLvl2Warehouse(FinalDestinationManager fdm, SupplyChainElement sceCloseWarehouse, list<Stock> stocksLvl2){ + action connectLvl2Warehouse(FinalConsignee fdm, SupplyChainElement sceCloseWarehouse, list<Stock> stocksLvl2){ // We try to find a father who has an appropriate surface SupplyChainElement sceLarge <- nil; bool found <- false; @@ -509,7 +509,7 @@ species LogisticsServiceProvider { /** * When a logistic provider has a new customer, he needs to find a new supply chain. This method build it. */ - action getNewCustomer(FinalDestinationManager fdm, list<Stock> stocksLvl1, list<Stock> stocksLvl2){ + action getNewCustomer(FinalConsignee fdm, list<Stock> stocksLvl1, list<Stock> stocksLvl2){ /* * Initiate the supply chain with just the provider as root @@ -539,7 +539,7 @@ species LogisticsServiceProvider { /** * We assume that the warehouse have already a stock when we initialize a new supply chain */ - action initStock(Warehouse warehouse, FinalDestinationManager f, list<Stock> stocks, int sizeOfStock){ + action initStock(Warehouse warehouse, FinalConsignee f, list<Stock> stocks, int sizeOfStock){ if(stocks = nil or length(stocks) = 0){ loop stockFdm over: (f.building as Building).stocks { // We create the stock agent @@ -575,7 +575,7 @@ species LogisticsServiceProvider { /** * Return a warehouse of first level in the supply chain */ - Warehouse findWarehouseLvl1(FinalDestinationManager fdm, int sizeOfStock){ + Warehouse findWarehouseLvl1(FinalConsignee fdm, int sizeOfStock){ Warehouse w <- nil; if(adoptedSelectingWarehouseStrategy = 1){ w <- world.findWarehouseLvl1Strat1(fdm, sizeOfStock, lvl2Warehouses); @@ -595,7 +595,7 @@ species LogisticsServiceProvider { /** * Return a warehouse of third level in the supply chain */ - Warehouse findWarehouseLvl2(FinalDestinationManager fdm, int sizeOfStock){ + Warehouse findWarehouseLvl2(FinalConsignee fdm, int sizeOfStock){ Warehouse w <- nil; if(adoptedSelectingWarehouseStrategy = 1){ w <- world.findWarehouseLvl2Strat1(fdm, sizeOfStock, lvl1Warehouses); diff --git a/models/Main.gaml b/models/Main.gaml index ff52e82..29d5ce8 100644 --- a/models/Main.gaml +++ b/models/Main.gaml @@ -184,15 +184,15 @@ global { /**/ // Final destinations - create FinalDestinationManager from: destination_shapefile with: [huffValue::float(read("huff")), surface::float(read("surface"))]; + create FinalConsignee from: destination_shapefile with: [huffValue::float(read("huff")), surface::float(read("surface"))]; /* * The following code can be commented or not, depending if the user want to execute the simulation with every FDM * It is mainly used for tests to avoid CPU overload. */ int i <- 50; - list<FinalDestinationManager> lfdm <- shuffle(FinalDestinationManager); + list<FinalConsignee> lfdm <- shuffle(FinalConsignee); loop while: i < length(lfdm) { - FinalDestinationManager s <- lfdm[i]; + FinalConsignee s <- lfdm[i]; remove index: i from: lfdm; ask s { do die; @@ -215,7 +215,7 @@ global { // We initialyse stocks and associate the buildings to their FDM list<Building> buildingOfFDM <- []; - ask FinalDestinationManager sort_by (-1*each.surface){ + ask FinalConsignee sort_by (-1*each.surface){ do second_init; buildingOfFDM <+ self.building; } @@ -249,7 +249,7 @@ global { ask ((Building as list) + (Warehouse as list) + (MaritimeTerminal as list) + (RiverTerminal as list) + (MaritimeRiverTerminal as list)) inside self { myself.buildings <+ self; } - ask ((FinalDestinationManager as list)) inside self { + ask ((FinalConsignee as list)) inside self { myself.fcs <+ self; } } diff --git a/models/Observer.gaml b/models/Observer.gaml index 8ede0a4..ec13703 100644 --- a/models/Observer.gaml +++ b/models/Observer.gaml @@ -1,6 +1,6 @@ model Observer -import "FinalDestinationManager.gaml" +import "FinalConsignee.gaml" global { string date_simu_starts <- nil; @@ -51,7 +51,7 @@ global { freeSurfaceInFinalDest <- 0.0; numberofEmptyStockInFinalDests <- 0; float totalNumberOfStock <- 0.0; - ask FinalDestinationManager { + ask FinalConsignee { float tempStock <- 0.0; float nbStockShortages <- 0.0; ask self.building.stocks { @@ -94,7 +94,7 @@ global { */ reflex updateAverageLPEfficiency { float currentNbStockShortages <- 0; - ask FinalDestinationManager { + ask FinalConsignee { int i <- 0; self.localAverageNbStockShortagesLastSteps <- 0; loop while: i < length(localNbStockShortagesLastSteps) { @@ -104,7 +104,7 @@ global { self.localAverageNbStockShortagesLastSteps <- self.localAverageNbStockShortagesLastSteps / length(localNbStockShortagesLastSteps); currentNbStockShortages <- currentNbStockShortages + self.localAverageNbStockShortagesLastSteps; } - currentNbStockShortages <- currentNbStockShortages / length(FinalDestinationManager); + currentNbStockShortages <- currentNbStockShortages / length(FinalConsignee); averagesNbStockShortages <- averagesNbStockShortages + 0.0; if(length(averagesNbStockShortages) > nbStepsConsideredForLPEfficiency){ remove index: 0 from: averagesNbStockShortages; @@ -166,7 +166,7 @@ global { // Update the average time to be delivered (at the FDMs level) i <- 0; sum <- 0; - ask FinalDestinationManager { + ask FinalConsignee { int j <- 0; int localSum <- 0; @@ -194,7 +194,7 @@ global { int i <- 0; float sum <- 0; // First we update the costs for each FC - ask FinalDestinationManager { + ask FinalConsignee { if(length(localTransportationCosts) > 0){ int j <- 0; float localCostsSum <- 0; @@ -219,7 +219,7 @@ global { } } // Then we compute the average costs of the neighbors of each FC - ask FinalDestinationManager { + ask FinalConsignee { averageCostsOfNeighbors <- 0.0; if(length(neighbors) = 0) { do buildNeighborsList; @@ -424,7 +424,7 @@ global { nbLPStrat4HighThreshold <- 0; float inter <- (maxlocalThreshold - minlocalThreshold)/4.0; - ask FinalDestinationManager { + ask FinalConsignee { if(logisticsServiceProvider.adoptedSelectingWarehouseStrategy = 1){ nbLPStrat1 <- nbLPStrat1 + 1; if(logisticsServiceProvider.threshold < (minlocalThreshold + inter)){ diff --git a/models/Order.gaml b/models/Order.gaml index 6309347..d0761c9 100644 --- a/models/Order.gaml +++ b/models/Order.gaml @@ -8,7 +8,7 @@ species Order schedules: [] { Building building; // which building has made the order LogisticsServiceProvider logisticsServiceProvider; // the LSP who manages the ordered goods int position;// The position in the supply chain - FinalDestinationManager fdm; // The FDM who posseses these goods + FinalConsignee fdm; // The FDM who posseses these goods Stock reference; // a reference to the stock which suffer of stock shortage int stepOrderMade; // when does the order has been made string strategy; diff --git a/models/Parameters.gaml b/models/Parameters.gaml index f8ad903..72a8694 100644 --- a/models/Parameters.gaml +++ b/models/Parameters.gaml @@ -1,6 +1,6 @@ model Parameters -import "FinalDestinationManager.gaml" +import "FinalConsignee.gaml" import "Warehouse.gaml" import "LogisticsServiceProvider.gaml" @@ -9,20 +9,20 @@ global { date starting_date <- date([2018,6,5,11,0,0]);// 5 Juin 2018 11h00 // Selecting Warehouse Strategies - bool isLocalSelectingWarehouseStrategies <- true; + bool isLocalSelectingWarehouseStrategies <- false; int globalSelectingWarehouseStrategies <- 1; list<int> possibleSelectingWarehouseStrategies <- [1, 2, 3, 4]; //[1];//[1, 4];// [1, 2, 3, 4] // 1 : biased random selection - 2 : accessibility - 3 : closest/largest - 4 : pure random selection int numberWarehouseSelected <- 10; // Cost path strategies - bool isLocalCostPathStrategy <- true; + bool isLocalCostPathStrategy <- false; list<string> possibleCostPathStrategies <- ['financial_costs','travel_time']; string globalCostPathStrategy <- 'financial_costs'; int costsMemory <- 50; // size of the arrays used to compute costs of LSP by FC (=> equal to the number of deliveries made) int neighborsDistance <- 10°km; // Parameters relative to the threshold used by LSPs to decide when to restock - bool localThreshold <- true; + bool localThreshold <- false; float minlocalThreshold <- 0.05; float maxlocalThreshold <- 0.2; float globalThreshold <- 0.15; @@ -75,11 +75,11 @@ global { float valForMinHuff <- 6.0; float valForMaxHuff <- 2.0; action init_decreasingRateOfStocks { - list<FinalDestinationManager> dests <- FinalDestinationManager sort_by each.huffValue; + list<FinalConsignee> dests <- FinalConsignee sort_by each.huffValue; int i <- 0; int ld <- length(dests); loop while: i < ld { - FinalDestinationManager fdm <- dests[i]; + FinalConsignee fdm <- dests[i]; fdm.decreasingRateOfStocks <- round(((valForMaxHuff-valForMinHuff) / (length(dests)-1)) * (i) + valForMinHuff); i <- i + 1; } diff --git a/models/RegionObserver.gaml b/models/RegionObserver.gaml index e77490a..577e8c3 100644 --- a/models/RegionObserver.gaml +++ b/models/RegionObserver.gaml @@ -6,7 +6,7 @@ import "Building.gaml" species RegionObserver { string name; list<Building> buildings <- []; - list<FinalDestinationManager> fcs <- []; + list<FinalConsignee> fcs <- []; // Share by number of vehicle float sumRoadVehicleRO <- 0.0; diff --git a/models/Stock.gaml b/models/Stock.gaml index 811e023..5923923 100644 --- a/models/Stock.gaml +++ b/models/Stock.gaml @@ -1,7 +1,7 @@ model Stock import "Building.gaml" -import "FinalDestinationManager.gaml" +import "FinalConsignee.gaml" import "LogisticsServiceProvider.gaml" species Stock schedules: [] { @@ -9,7 +9,7 @@ species Stock schedules: [] { float quantity; float maxQuantity; int status <- 0; // = 0 : a restock has not been asked; = 1 the restock has been asked; = 2 : ?? no idea - was it used before? ?? ; = 3 : a building is processing the order to restock - FinalDestinationManager fdm; + FinalConsignee fdm; LogisticsServiceProvider lp; Building building; int stepWithNoStock <- 0; // Used to detect bug in the simulation : if a stock never has a restock, then there is a bug somewhere. Bugs in ABM can be hard to detect... diff --git a/models/Strategies.gaml b/models/Strategies.gaml index 776f730..171941d 100644 --- a/models/Strategies.gaml +++ b/models/Strategies.gaml @@ -12,7 +12,7 @@ global { /** * Return a small warehouse according to the position of the final destination : the more the warehouse is close to the final destination, the more he has a chance to be selected. */ - Warehouse findWarehouseLvl1Strat1(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl2Warehouses){ + Warehouse findWarehouseLvl1Strat1(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl2Warehouses){ list<Warehouse> lw <- copy(Warehouse) sort_by (fdm distance_to each); // Remove the ones which cannot welcome the stocks of the customer because they are already a warehouse of level 2 @@ -40,7 +40,7 @@ global { /** * Return a large warehouse : the more the warehouse has a big free surface, the more he has a chance to be selected. */ - Warehouse findWarehouseLvl2Strat1(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses){ + Warehouse findWarehouseLvl2Strat1(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses){ list<Warehouse> lw <- copy(Warehouse) sort_by (each.totalSurface-each.occupiedSurface); // Remove the ones which cannot welcome the stocks of the customer because they are already a warehouse of level 1 @@ -79,7 +79,7 @@ global { * On sélectionne les 10/20/50/100 (paramétre à définir) plus proches * on choisit celui qui a la plus grande valeur d'accessibilité */ - Warehouse findWarehouseLvl1Strat2(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses, list<Warehouse> lvl2Warehouses){ + Warehouse findWarehouseLvl1Strat2(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses, list<Warehouse> lvl2Warehouses){ // We inform GAMA that each warehouse must be consider connected to the network in order to compute the Shimbel index bool success <- connect_to(list(Warehouse), road_network, "length", "speed", 70°m/°s); if(first(Warehouse).accessibility < 0){ @@ -158,7 +158,7 @@ global { * On sélectionne les 10/20/50/100 (paramétre à définir) ayant la plus grande valeur d'accessibilité (ou plutot les plus grand?) * On choisit le plus proche?/le plus large/celui ayant la plus grande valeur d'accessibilité? => à tester */ - Warehouse findWarehouseLvl2Strat2(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses, list<Warehouse> lvl2Warehouses){ + Warehouse findWarehouseLvl2Strat2(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses, list<Warehouse> lvl2Warehouses){ // We inform GAMA that each warehouse must be consider connected to the network in order to compute the Shimbel index bool success <- connect_to(list(Warehouse), road_network, "length", "speed", 70°m/°s); if(first(Warehouse).accessibility < 0){ @@ -245,7 +245,7 @@ global { * On supprime ceux qui n'ont pas la capacité d'entreposer la marchandise * On sélectionne le plus proche */ - Warehouse findWarehouseLvl1Strat3(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl2Warehouses){ + Warehouse findWarehouseLvl1Strat3(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl2Warehouses){ list<Warehouse> lw <- copy(list(Warehouse)); // Remove the ones that cannot welcome the stocks of the customer @@ -281,7 +281,7 @@ global { * On supprime ceux qui n'ont pas la capacité d'entreposer la marchandise * On choisit le plus large */ - Warehouse findWarehouseLvl2Strat3(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses){ + Warehouse findWarehouseLvl2Strat3(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses){ list<Warehouse> lw <- copy(list(Warehouse)); // Remove the ones which cannot welcome the stocks of the customer because they are already a warehouse of level 1 @@ -318,18 +318,18 @@ global { /** * Select randomly a warehouse */ - Warehouse findWarehouseLvl1Strat4(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl2Warehouses){ + Warehouse findWarehouseLvl1Strat4(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl2Warehouses){ return pureRandom(fdm, sizeOfStock, lvl2Warehouses); } /** * Select randomly a warehouse */ - Warehouse findWarehouseLvl2Strat4(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses){ + Warehouse findWarehouseLvl2Strat4(FinalConsignee fdm, int sizeOfStock, list<Warehouse> lvl1Warehouses){ return pureRandom(fdm, sizeOfStock, lvl1Warehouses); } - Warehouse pureRandom(FinalDestinationManager fdm, int sizeOfStock, list<Warehouse> otherLvlWarehouses){ + Warehouse pureRandom(FinalConsignee fdm, int sizeOfStock, list<Warehouse> otherLvlWarehouses){ list<Warehouse> lw <- copy(list(Warehouse)); // Remove the ones that cannot welcome the stocks of the customer -- GitLab