public List <object[]> CalcUEassignment(List <LinkData> SwashSimLinks, List <NodeData> SwashSimNodes) { List <object[]> PathAssignmentObjectListForSwashSim = new List <object[]>(); XXE_DataStructures.NetworkData networkXXE = new XXE_DataStructures.NetworkData(); List <XXE_DataStructures.LinkData> linksXXE = new List <XXE_DataStructures.LinkData>(); List <XXE_DataStructures.ODdata> ODXXE = new List <XXE_DataStructures.ODdata>(); UEnetwork.SpecifyUserEquilibriumNetworkInput(SwashSimLinks, SwashSimNodes, networkXXE, linksXXE, ODXXE); //Call XXE to perform User Equilibrium Traffic Assignment XXE_DataStructures.ProjectData project = new XXE_DataStructures.ProjectData(); project.Type = XXE_DataStructures.ProjectType.BPRlinks; List <HCMCalc_Definitions.FreewayData> freewayFacilities = new List <HCMCalc_Definitions.FreewayData>(); List <XXE_DataStructures.UserEquilibriumTimePeriodResult> resultsUE = new List <XXE_DataStructures.UserEquilibriumTimePeriodResult>(); List <List <List <double> > > rampProportionList = new List <List <List <double> > >(); Calculations.RunControl(project, networkXXE, linksXXE, freewayFacilities, ODXXE, resultsUE, rampProportionList); //Get one set of feasible path flow results List <XXE_DataStructures.PathData> PathFlowResults = Calculations.GetPathResults(); //Return path assignment results to SwashSim PathAssignmentObjectListForSwashSim = PathAssignmentOutputForSwashSim(PathFlowResults); string test = ""; return(PathAssignmentObjectListForSwashSim); }
private void NetworkSetup(XXE_DataStructures.NetworkData network) { //XXE network input network.ConvCrit = 0.0005; network.MaxIterations = 100; network.FirstNetworkNode = 9; network.NumNodes = 12; network.NumZones = 4; network.NumODrecords = 12; network.NumTimePeriods = 1; network.TotalLinks = 20; network.TimePeriodType = XXE_DataStructures.TimePeriod.Single; }
public void SpecifyUserEquilibriumNetworkInput(List <LinkData> SwashSimLinks, List <NodeData> SwashSimNodes, XXE_DataStructures.NetworkData networkXXE, List <XXE_DataStructures.LinkData> linksXXE, List <XXE_DataStructures.ODdata> ODXXE) { NetworkSetup(networkXXE); LinksSetup(linksXXE, SwashSimLinks); //ODdemandSetup(ODXXE); string fileName = System.Windows.Forms.Application.StartupPath + "\\ODinputs.xml"; //MyFileIO.WriteODdemandFile(fileName,ODXXE); ODXXE.Add(new XXE_DataStructures.ODdata()); MyFileIO.ReadODdemandFile(fileName, ODXXE); PathsSetup(); }