- this.congestionInfo.getScenario().getConfig().planCalcScore().getModes().get(TransportMode.car).getMarginalUtilityOfTraveling() ) / this.congestionInfo.getScenario().getConfig().planCalcScore().getMarginalUtilityOfMoney();
double walkBetaTT_utils_h = this.cnScoringGroup.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() - this.cnScoringGroup.getPerforming_utils_hr(); // default values: -12 = (-6.) - (6.) double VjkWalkTravelTime = walkBetaTT_utils_h * (distance_m / this.walkSpeed_m_h); double walkBetaTD_utils_m = cnScoringGroup.getModes().get(TransportMode.walk).getMarginalUtilityOfDistance(); // default value: 0. double VjkWalkDistance = walkBetaTD_utils_m * distance_m;
if ( params.getMonetaryDistanceRate() > 0. ) { problem = true ; System.out.flush() ; log.error("found monetary distance rate for mode " + params.getMode() + " > 0. You probably want a value < 0 here.\n" ) ; if ( params.getMonetaryDistanceRate() < -0.01 ) { System.out.flush() ; log.error("found monetary distance rate for mode " + params.getMode() + " < -0.01. -0.01 per meter means -10 per km. You probably want to divide your value by 1000." ) ; if ( config.planCalcScore().getModes().get(TransportMode.car) != null && config.planCalcScore().getModes().get(TransportMode.car).getMonetaryDistanceRate() > 0 ) { problem = true ; if ( modeParamsPt!=null && modeParamsPt.getMonetaryDistanceRate() > 0 ) { problem = true ; System.out.flush() ;
Assert.assertEquals( "wrong constantBike "+msg, initialGroup.getModes().get(TransportMode.bike).getConstant(), inputConfigGroup.getModes().get(TransportMode.bike).getConstant(), 1e-7); Assert.assertEquals( "wrong constantCar "+msg, initialGroup.getModes().get(TransportMode.car).getConstant(), inputConfigGroup.getModes().get(TransportMode.car).getConstant(), 1e-7); Assert.assertEquals( "wrong constantOther "+msg, initialGroup.getModes().get(TransportMode.other).getConstant(), inputConfigGroup.getModes().get(TransportMode.other).getConstant(), 1e-7); Assert.assertEquals( "wrong constantPt "+msg, initialGroup.getModes().get(TransportMode.pt).getConstant(), inputConfigGroup.getModes().get(TransportMode.pt).getConstant(), 1e-7); Assert.assertEquals( "wrong constantWalk "+msg, initialGroup.getModes().get(TransportMode.walk).getConstant(), inputConfigGroup.getModes().get(TransportMode.walk).getConstant(), 1e-7); Assert.assertEquals( Assert.assertEquals( "wrong marginalUtlOfDistanceOther "+msg,
config.planCalcScore().getModes().get(TransportMode.car).setMarginalUtilityOfTraveling((double) 0); config.planCalcScore().getModes().get(TransportMode.pt).setMarginalUtilityOfTraveling((double) 0); config.planCalcScore().getModes().get(TransportMode.walk).setMarginalUtilityOfTraveling((double) 0); config.planCalcScore().getModes().get(TransportMode.car).setMonetaryDistanceRate((double) 10); config.planCalcScore().getModes().get(TransportMode.pt).setMonetaryDistanceRate((double) 0); config.planCalcScore().addActivityParams(h); config.planCalcScore().addActivityParams(w);
usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("traveling_".length())); modeParams.setMarginalUtilityOfTraveling(Double.parseDouble(value)); } else if (key.startsWith("marginalUtlOfDistance_")) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("marginalUtlOfDistance_".length())); modeParams.setMarginalUtilityOfDistance(Double.parseDouble(value)); } else if (key.startsWith("monetaryDistanceRate_")) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("monetaryDistanceRate_".length())); modeParams.setMonetaryDistanceRate(Double.parseDouble(value)); } else if ("monetaryDistanceRateCar".equals(key)) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(TransportMode.car); modeParams.setMonetaryDistanceRate(Double.parseDouble(value)); } else if ("monetaryDistanceRatePt".equals(key)) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(TransportMode.pt); modeParams.setMonetaryDistanceRate(Double.parseDouble(value)); } else if (key.startsWith("constant_")) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("constant_".length())); modeParams.setConstant(Double.parseDouble(value));
scoring.setBrainExpBeta(2.0); scoring.getModes().get(TransportMode.car).setConstant(0.0); scoring.getModes().get(TransportMode.pt).setConstant(0.0); scoring.getModes().get(TransportMode.walk).setConstant(0.0); scoring.getModes().get(TransportMode.bike).setConstant(0.0); scoring.setMarginalUtlOfWaiting_utils_hr(0.0); scoring.setPerforming_utils_hr(0.0); scoring.getModes().get(TransportMode.car).setMarginalUtilityOfTraveling(0.0); scoring.getModes().get(TransportMode.pt).setMarginalUtilityOfTraveling(0.0); scoring.getModes().get(TransportMode.walk).setMarginalUtilityOfTraveling(0.0); scoring.getModes().get(TransportMode.bike).setMarginalUtilityOfTraveling(0.0); scoring.getModes().get(TransportMode.car).setMonetaryDistanceRate(0.0); scoring.getModes().get(TransportMode.pt).setMonetaryDistanceRate(0.0);
double score = pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (stop1Arr-homeAct1End)/3600. ; System.out.println("score after walk: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (enterVeh-ptIA1ActEnd)/3600. ; System.out.println("score after wait: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (leaveVeh-enterVeh)/3600. ; System.out.println("score after travel pt: " + score ) ; score += pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (home2Arr-ptIA2ActEnd)/3600. ; System.out.println("score after walk: " + score ) ; score += pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (stop2Arr-homeAct2End)/3600. ; System.out.println("score after walk: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (enterVeh2-ptIA3ActEnd)/3600. ; System.out.println("score after wait: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (leaveVeh2-enterVeh2)/3600. ; System.out.println("score after travel pt: " + score ) ; score += pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (stop3Arr-ptIA4ActEnd)/3600. ; System.out.println("score after walk: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (enterVeh3-ptIA5ActEnd)/3600. ; System.out.println("score after wait: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (leaveVeh3-enterVeh3)/3600. ; System.out.println("score after travel pt: " + score ) ;
pcs.getModes().get(TransportMode.pt).setConstant(1.); double score = pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (stop1Arr-homeAct1End)/3600. ; System.out.println("score after walk: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getConstant(); System.out.println("score after addition of pt constant: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (enterVeh-ptIA1ActEnd)/3600. ; System.out.println("score after wait: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (leaveVeh-enterVeh)/3600. ; System.out.println("score after travel pt: " + score ) ; score += pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (home2Arr-ptIA2ActEnd)/3600. ; System.out.println("score after walk: " + score ) ; score += pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (stop2Arr-homeAct2End)/3600. ; System.out.println("score after walk: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getConstant(); System.out.println("score after addition of pt constant: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (enterVeh2-ptIA3ActEnd)/3600. ; System.out.println("score after wait: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * (leaveVeh2-enterVeh2)/3600. ; System.out.println("score after travel pt: " + score ) ;
work.setTypicalDuration(100.0); config.planCalcScore().addActivityParams(work); PlanCalcScoreConfigGroup.ModeParams car = new PlanCalcScoreConfigGroup.ModeParams("car"); car.setMarginalUtilityOfTraveling(0.0); car.setMarginalUtilityOfDistance(0.0); car.setConstant(-1.0); config.planCalcScore().addModeParams(car); final Scenario scenario = ScenarioUtils.createScenario(config);
MatsimTestUtils.EPSILON ); double defaultScore = (legTravelTime1 + legTravelTime2) * new PlanCalcScoreConfigGroup().getModes().get(TransportMode.car).getMarginalUtilityOfTraveling() / 3600. + legTravelTime3 * new PlanCalcScoreConfigGroup().getModes().get(TransportMode.bike).getMarginalUtilityOfTraveling() / 3600.; Assert.assertEquals( "wrong score; daily constants are not accounted for in the scoring.",
double timeHome = 18060. + 24.*3600 - 18446 ; double score = pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (timeTransitWalk/3600.) ; System.out.println("score: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * timeTransitWait/3600. ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * timeTransitInVeh/3600. ; System.out.println("score: " + score ) ; score += pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * timeTransitWalk2/3600. ; System.out.println("score: " + score ) ;
work.setTypicalDuration(100.0); config.planCalcScore().addActivityParams(work); PlanCalcScoreConfigGroup.ModeParams car = new PlanCalcScoreConfigGroup.ModeParams("car"); car.setMarginalUtilityOfTraveling(0.0); car.setMarginalUtilityOfDistance(0.0); car.setConstant(-1.0); config.planCalcScore().addModeParams(car); final Scenario scenario = ScenarioUtils.createScenario(config);
double timeHome = 18060. + 24.*3600 - 18446 ; double score = pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * (timeTransitWalk/3600.) ; System.out.println("score: " + score ) ; score += pcs.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() * timeTransitInVeh/3600. ; System.out.println("score: " + score ) ; score += pcs.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() * timeTransitWalk2/3600. ; System.out.println("score: " + score ) ;
this.addModeParams(new ModeParams(TransportMode.car)); this.addModeParams(new ModeParams(TransportMode.pt)); this.addModeParams(new ModeParams(TransportMode.walk)); this.addModeParams(new ModeParams(TransportMode.bike)); this.addModeParams(new ModeParams(TransportMode.ride)); this.addModeParams(new ModeParams(TransportMode.other));
scenario.getConfig().planCalcScore().setPerforming_utils_hr(0); final double travelingPt = -1.00; scenario.getConfig().planCalcScore().getModes().get(TransportMode.pt).setMarginalUtilityOfTraveling(travelingPt); double monetaryDistanceRatePt = -0.001; scenario.getConfig().planCalcScore().getModes().get(TransportMode.pt).setMonetaryDistanceRate(monetaryDistanceRatePt); scenario.getConfig().planCalcScore().addActivityParams(h); scenario.getConfig().planCalcScore().addActivityParams(w);
f.s.getConfig().planCalcScore().getModes().get(TransportMode.car).setMonetaryDistanceRate(monetaryDistanceRateCar);
group.getModes().get(TransportMode.bike).setConstant((double) 98); group.getModes().get(TransportMode.car).setConstant((double) 345); group.getModes().get(TransportMode.other).setConstant((double) 345); group.getModes().get(TransportMode.pt).setConstant((double) 983); group.getModes().get(TransportMode.walk).setConstant((double) 89); group.setLateArrival_utils_hr( 345 ); group.setEarlyDeparture_utils_hr( 5 ); group.setLearningRate( 98 ); group.setMarginalUtilityOfMoney( 9 ); group.getModes().get(TransportMode.other).setMarginalUtilityOfDistance((double) 23); group.getModes().get(TransportMode.walk).setMarginalUtilityOfDistance((double) 8675); group.setMarginalUtlOfWaiting_utils_hr( 65798 ); group.setMarginalUtlOfWaitingPt_utils_hr( 9867 ); group.getModes().get(TransportMode.car).setMonetaryDistanceRate((double) 240358); group.getModes().get(TransportMode.pt).setMonetaryDistanceRate((double) 9835); group.setPathSizeLogitBeta( 8 ); group.setPerforming_utils_hr( 678 ); group.getModes().get(TransportMode.car).setMarginalUtilityOfTraveling((double) 246); group.getModes().get(TransportMode.bike).setMarginalUtilityOfTraveling((double) 968); group.getModes().get(TransportMode.other).setMarginalUtilityOfTraveling((double) 206); group.getModes().get(TransportMode.pt).setMarginalUtilityOfTraveling((double) 957); group.getModes().get(TransportMode.walk).setMarginalUtilityOfTraveling((double) 983455); group.setUtilityOfLineSwitch( 396 ); final ModeParams settings = new ModeParams(); settings.setMode( "mode-"+i ); settings.setConstant( random.nextDouble() ); settings.setMarginalUtilityOfDistance( random.nextDouble() ); settings.setMarginalUtilityOfTraveling( random.nextDouble() );
planScoring.getModes().get(TransportMode.pt).setMarginalUtilityOfTraveling(travelingPt); final double travelingWalk = -11.0; planScoring.getModes().get(TransportMode.walk).setMarginalUtilityOfTraveling(travelingWalk);
String modeName = mode.getKey(); ModeParams params = mode.getValue(); worstMarginalUtilityOfTraveling_s = Math.min(worstMarginalUtilityOfTraveling_s, params.getMarginalUtilityOfTraveling() / 3600. ); modeParams.put(modeName, new ModeUtilityParameters.Builder( params ) );