Example #1
0
        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);
        }
Example #2
0
 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;
 }
Example #3
0
        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();
        }