public Search(DrawingBoard drawingBoard, SearchParameter Input, int method) { SearchInfo = Input; DrawingBoard = drawingBoard; Input.AllCities = new List <City>(); this.method = method; }
public override List <State> ChildStates(State parentState) { List <Int16> unvisitedCities = FilterUnvisitedCities(parentState.path, SearchInfo.AllCities); List <State> childStates = new List <State>(); if (unvisitedCities.Count == 0) { return(ReturnBottomChild(parentState, childStates)); } else { foreach (Int16 c in unvisitedCities) { State child = (State)State.DeepClone(parentState); child.AddCityToPath(SearchInfo.AllCities[c]); if (SearchInfo.Visualize) { DrawingBoard.DrawPath(child, SearchInfo.AllCities); Thread.Sleep(500); } child.Cost += City.TravelCostBetweenCities(SearchInfo.AllCities[child.path[child.path.Count - 2]], SearchInfo.AllCities[c]); List <State> tmp = ChildStates(child); foreach (State s in tmp) { childStates.Add(s); } } return(childStates); } }
public TSPWindow(DrawingBoard drawingBoard) { InitializeComponent(); TSPWindow.drawingBoard = drawingBoard; algorithmComboBox.DataSource = Enum.GetValues(typeof(Search.Algorithm)); drawingBoard.Visible = true; returnToStartCheckBox.Checked = true; isMutatingCheckBox.Checked = true; this.FormBorderStyle = FormBorderStyle.FixedSingle; splitContainer1.Panel2.Controls.Add(drawingBoard); ShowOrHideGeneticSettings(false); drawingBoard.Show(); InitHandlers(); }
public TSPAlgorithm(SearchParameter searchInfo, DrawingBoard drawingBoard) { SearchInfo = searchInfo; DrawingBoard = drawingBoard; }
public BruteForceDFS_TSPAlgorithm(SearchParameter searchInfo, DrawingBoard drawingBoard) : base(searchInfo, drawingBoard) { }
private static void StartDrawingBoard() { drawingBoard = new DrawingBoard(); tspWindow = new TSPWindow(drawingBoard); Application.Run(tspWindow); }