static void Main(string[] args) { string startupPath = Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName; NaiveController naiveController = new NaiveController(new ProductionState(), Path.Combine(startupPath, @"OptimizationLogic\InputFiles\ProcessingTimeMatrix.csv"), Path.Combine(startupPath, @"OptimizationLogic\InputFiles\situation1\WarehouseInitialState.csv"), Path.Combine(startupPath, @"OptimizationLogic\InputFiles\situation1\HistoricalProductionList.txt"), Path.Combine(startupPath, @"OptimizationLogic\InputFiles\situation1\FutureProductionList.txt")); GreedyWarehouseReorganizer warehouseReorganizer = new GreedyWarehouseReorganizer(maxDepth: 10, selectBestCnt: 1); RealProductionSimulator productionSimulator = new RealProductionSimulator(naiveController, warehouseReorganizer); productionSimulator.Run(); }
public MainWindow() { InitializeComponent(); var productionState = new ProductionState(); var scenarioLoader = new ProductionStateLoader(LoadScenarionPaths("InputFiles"), "InputFiles/ProcessingTimeMatrix.csv"); var naiveController = new NaiveController(productionState); BaseController asyncController = new NaiveAsyncControllerWithHalfCycleDelay(productionState); GreedyWarehouseReorganizer reorganizer = new GreedyWarehouseReorganizer(); RealProductionSimulator realProductionSimulator = new RealProductionSimulator(naiveController, null); //ViewModel = new MainWindowViewModel(naiveController, scenarioLoader); var openFileDialog = new OpenFileDialogService(); IOpenFileService openFolderDialog = new OpenFolderDialogService(); ViewModel = new MainWindowViewModel(naiveController, asyncController, reorganizer, realProductionSimulator, scenarioLoader, openFileDialog, openFolderDialog, DialogCoordinator.Instance); DataContext = ViewModel; }