private void CreateMinesLaveriesConnexions() { Object[,] connexionsInput = configDico[Legende.CONNEXIONS]; for (int i = 1; i < connexionsInput.GetLength(0); i++) { string axeName = (string)connexionsInput[i, 1]; string mineName = (string)connexionsInput[i, 2]; string extractionName = mineName + Legende.EXTRACTION; string connexionName = (string)connexionsInput[i, 4]; Product interProduct = IntermediateProducts.GetInterProduct((string)connexionsInput[i, 3]); CapexObjectManager capexObj = objectManagerDico[connexionsInput[i, 0].ToString()]; capexObj.UpdateLaveriesDico(); Entity variableMine = capexObj.GetEntity(axeName, mineName); for (int j = 5; j < connexionsInput.GetLength(1); j++) { string laverieName = (string)connexionsInput[0, j]; if (connexionsInput[i, j].ToString() == "N") { continue; } Unit laverie = capexObj.GetLaverie(laverieName); Unit extractionUnit = variableMine.GetUnit(extractionName); capexObj.AddConnexion(connexionName, extractionUnit, laverie, (double)connexionsInput[i, j], (double)laverie.Capacity, interProduct); } } }
private void CreateAndUpdateLaveriesCapacities() { Object[,] capaLaverieInput = configDico[Legende.CAPALAV]; for (int i = 1; i < capaLaverieInput.GetLength(0); i++) { string axeName = (string)capaLaverieInput[i, 0]; string mineName = (string)capaLaverieInput[i, 1]; string laverieName = (string)capaLaverieInput[i, 2]; foreach (CapexObjectManager objManager in objectManagerDico.Values) { Entity variableMine = objManager.GetEntity(axeName, mineName); variableMine.AddTreatment(laverieName, TreatmentType.LAVERIE); } } for (int i = 6; i < capaLaverieInput.GetLength(1); i++) { CapexObjectManager capexObj = objectManagerDico[capaLaverieInput[0, i].ToString()]; for (int j = 1; j < capaLaverieInput.GetLength(0); j++) { Unit treatmentUnit = capexObj.GetUnit((string)capaLaverieInput[j, 0], (string)capaLaverieInput[j, 1], (string)capaLaverieInput[j, 2]); if (capaLaverieInput[j, i] == null) { capaLaverieInput[j, i] = 0.0; } treatmentUnit.Capacity = (double)capaLaverieInput[j, i]; } } }
public static object[,] CAPEXFacilitiesAllocationPerYear(string solverName, string year) { CapexObjectManager objManager = capexControler.ObjectManagerDico[year]; outputResult = objManager.LaunchSolver(solverName); return(outputResult); }
private void CreateObjectManagers() { string year; CapexObjectManager capexObj = null; Object[,] pdvInput = configDico[Legende.PDV]; for (int i = 3; i < pdvInput.GetLength(1); i++) { year = pdvInput[0, i].ToString(); capexObj = new CapexObjectManager(year); objectManagerDico[year] = capexObj; capexObj.GenerateFinalProducts(pdvInput, i); } }
private void UpdateCosts() { Object[,] costsInput = configDico[Legende.COSTS]; for (int i = 3; i < costsInput.GetLength(1); i++) { CapexObjectManager capexObj = objectManagerDico[costsInput[0, i].ToString()]; capexObj.UpdateLinesDico(); for (int j = 1; j < costsInput.GetLength(0); j++) { Unit lineUnit = capexObj.GetLine((string)costsInput[j, 2]); if (costsInput[j, i] == null) { costsInput[j, i] = 0.0; } lineUnit.Cost = (double)costsInput[j, i]; } } }
private void UpdateSConsumption() { Object[,] SConsumptionInput = configDico[Legende.SCONSO]; for (int i = 3; i < SConsumptionInput.GetLength(1); i++) { CapexObjectManager capexObj = objectManagerDico[SConsumptionInput[0, i].ToString()]; capexObj.UpdateLinesDico(); for (int j = 1; j < SConsumptionInput.GetLength(0); j++) { Unit lineUnit = capexObj.GetLine((string)SConsumptionInput[j, 2]); if (SConsumptionInput[j, i] == null) { SConsumptionInput[j, i] = 0.0; } lineUnit.SConsumption = (double)SConsumptionInput[j, i]; } } }
private void UpdateExtractionsCapacities() { Object[,] capaMineInput = configDico[Legende.CAPAMINE]; for (int i = 5; i < capaMineInput.GetLength(1); i++) { CapexObjectManager capexObj = objectManagerDico[capaMineInput[0, i].ToString()]; for (int j = 1; j < capaMineInput.GetLength(0); j++) { string extractionName = (string)capaMineInput[j, 0] + Legende.EXTRACTION; Unit extractionUnit = capexObj.GetUnit((string)capaMineInput[j, 1], (string)capaMineInput[j, 0], extractionName); if (capaMineInput[j, i] == null) { capaMineInput[j, i] = 0.0; } extractionUnit.Capacity = (double)capaMineInput[j, i]; } } }
private void UpdateLinesCapacities() { Object[,] capaFacilityInput = configDico[Legende.CAPAPROD]; for (int i = 8; i < capaFacilityInput.GetLength(1); i++) { CapexObjectManager capexObj = objectManagerDico[capaFacilityInput[0, i].ToString()]; for (int j = 1; j < capaFacilityInput.GetLength(0); j++) { Unit treatmentUnit = capexObj.GetUnit((string)capaFacilityInput[j, 0], (string)capaFacilityInput[j, 1], (string)capaFacilityInput[j, 3]); string productName = (string)capaFacilityInput[j, 2]; if (capaFacilityInput[j, i] == null) { capaFacilityInput[j, i] = 0.0; } treatmentUnit.Capacity = (double)capaFacilityInput[j, i]; treatmentUnit.ProductItProduces = productName; } } }
public static object[,] CAPEXFacilitiesAllocation(string solverName) { object[,] finalResult; CapexObjectManager objManager = capexControler.ObjectManagerDico.Values.ElementAt(0); finalResult = objManager.LaunchSolver(solverName); outputResult = new object[finalResult.GetLength(0), capexControler.ObjectManagerDico.Values.Count + 1]; for (int j = 0; j < finalResult.GetLength(0); j++) { outputResult[j, 0] = finalResult[j, 0]; outputResult[j, 1] = finalResult[j, 1]; } for (int k = 1; k < capexControler.ObjectManagerDico.Values.Count; k++) { object[,] result = capexControler.ObjectManagerDico.Values.ElementAt(k).LaunchSolver(solverName); for (int i = 0; i < finalResult.GetLength(0); i++) { outputResult[i, k + 1] = result[i, 1]; } } return(outputResult); }