<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config SYSTEM "http://www.matsim.org/files/dtd/config_v2.dtd">
<config>
	<module name="timeAllocationMutator">
		<param name="mutationRange" value="1800.0"/>
		<param name="mutateAroundInitialEndTimeOnly" value="true"/>
	</module>
	<module name="controller">
		<param name="lastIteration" value="500"/>
		<param name="overwriteFiles" value="failIfDirectoryExists"/>
		<param name="runId" value="berlin-v7.1-3pct"/>
		<param name="outputDirectory" value="./output/berlin-v7.1-3pct"/>
		<param name="writeEventsInterval" value="100"/>
		<param name="writePlansInterval" value="100"/>
		<param name="routingAlgorithmType" value="SpeedyALT"/>
		<param name="compressionType" value="gzip" />
	</module>
	<module name="global">
		<param name="coordinateSystem" value="EPSG:25832"/>
		<param name="insistingOnDeprecatedConfigVersion" value="false"/>
		<param name="numberOfThreads" value="16"/>
	</module>
	<module name="network">
		<param name="inputNetworkFile" value="https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/projects/thesis/matsim-berlin-7.1-bicycle-contrib-3pct/output-calibrated-matsim-berlin-v7.1-bicycle-contrib/014.output_network.xml.gz"/>
	</module>
	<module name="plans">
		<param name="inputPlansFile" value="https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/projects/thesis/matsim-berlin-7.1-bicycle-contrib-3pct/output-calibrated-matsim-berlin-v7.1-bicycle-contrib/014.output_plans.xml.gz"/>
		<param name="removingUnnecessaryPlanAttributes" value="true"/>
	</module>
	<module name="vehicles">
		<param name="vehiclesFile" value="https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/projects/thesis/matsim-berlin-7.1-bicycle-contrib-3pct/output-calibrated-matsim-berlin-v7.1-bicycle-contrib/014.output_vehicles.xml.gz"/>
	</module>
	<module name="transit">
		<param name="transitScheduleFile" value="https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/projects/thesis/matsim-berlin-7.1-bicycle-contrib-3pct/output-calibrated-matsim-berlin-v7.1-bicycle-contrib/014.output_transitSchedule.xml.gz"/>
		<param name="useTransit" value="true"/>
		<param name="vehiclesFile" value="https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/projects/thesis/matsim-berlin-7.1-bicycle-contrib-3pct/output-calibrated-matsim-berlin-v7.1-bicycle-contrib/014.output_transitVehicles.xml.gz"/>
	</module>
	<module name="facilities">
		<param name="facilitiesSource" value="fromFile"/>
		<param name="inputFacilitiesFile" value="https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/projects/thesis/matsim-berlin-7.1-bicycle-contrib-3pct/output-calibrated-matsim-berlin-v7.1-bicycle-contrib/014.output_facilities.xml.gz"/>
	</module>
	<module name="routing">
		<param name="networkModes" value="car,truck,freight,ride,bike"/>
		<param name="accessEgressType" value="accessEgressModeToLink"/>
		<param name="clearDefaultTeleportedModeParams" value="true"/>
		<parameterset type="teleportedModeParameters">
			<param name="beelineDistanceFactor" value="1.3"/>
			<param name="mode" value="walk"/>
			<!-- Determined from SrV data and also consistent with other studies -->
			<param name="teleportedModeSpeed" value="1.23"/>
		</parameterset>
	</module>
	<module name="qsim">
		<param name="mainMode" value="car,truck,freight"/>
		<param name="flowCapacityFactor" value="0.03"/>
		<param name="storageCapacityFactor" value="0.03"/>
		<param name="numberOfThreads" value="12"/>
		<param name="startTime" value="00:00:00"/>
		<param name="endTime" value="36:00:00"/>
		<param name="stuckTime" value="30.0"/>
		<param name="trafficDynamics" value="kinematicWaves"/>
		<param name="linkDynamics" value="PassingQ"/>
		<param name="vehiclesSource" value="modeVehicleTypesFromVehiclesData"/>
		<param name="insertingWaitingVehiclesBeforeDrivingVehicles" value="true"/>
		<param name="usePersonIdForMissingVehicleId" value="false"/>
	</module>

	<module name="subtourModeChoice">
		<param name="modes" value="car,pt,bike,walk,ride"/>
		<param name="chainBasedModes" value="car,bike"/>
		<param name="considerCarAvailability" value="true"/>
		<param name="behavior" value="betweenAllAndFewerConstraints"/>
		<param name="probaForRandomSingleTripMode" value="0.5"/>
		<param name="coordDistance" value="100"/>
	</module>
	<!--
	<module name="informedModeChoice">
		<param name="modes" value="car,pt,bike,walk"/>
		<param name="topK" value="5"/>
	</module>
	-->

	<module name="simwrapper" >
		<param name="sampleSize" value="0.03" />

		<parameterset type="params" >
			<param name="context" value="" />
			<param name="mapCenter" value="13.39,52.51" />
			<param name="mapZoomLevel" value="9.1" />
			<param name="shp" value="./area/area.shp" />
		</parameterset>
	</module>

	<module name="transitRouter">
		<param name="directWalkFactor" value="1.0"/>
		<param name="maxBeelineWalkConnectionDistance" value="300.0"/>
	</module>
	<module name="travelTimeCalculator">
		<param name="analyzedModes" value="car,truck"/>
		<param name="separateModes" value="true"/>
	</module>
	<module name="vspExperimental">
		<param name="vspDefaultsCheckingLevel" value="abort"/>
	</module>

	<module name="scoring">
		<param name="fractionOfIterationsToStartScoreMSA" value="0.9"/>
		<param name="writeExperiencedPlans" value="true"/>
		<param name="pathSizeLogitBeta" value="0"/>

		<parameterset type="scoringParameters">

			<!-- All parameters in this section are based on estimated MXL model -->
			<!-- Variations are loaded from person attributes -->
			<param name="marginalUtilityOfMoney" value="0.397322"/>
			<param name="performing" value="5.501071"/>
			<param name="utilityOfLineSwitch" value="-1"/>

			<parameterset type="tasteVariations" >
				<!-- Exponent for income dependent scoring. Exponent for (global_income / personal_income) ** x. -->
				<param name="incomeExponent" value="0.275502" />

				<!-- List of utility parameters that are loaded from each person. -->
				<param name="variationsOf" value="constant" />

				<!-- These don't have any variations -->
				<param name="excludeSubpopulations" value="commercialPersonTraffic,commercialPersonTraffic_service,freight,goodsTraffic"/>
			</parameterset>

			<parameterset type="modeParams">
				<param name="constant" value="-1.7985553951647704" />
				<!-- 14.90€ * 0.268622 (fixed cost perception) -->
				<param name="dailyMonetaryConstant" value="-3.8412946" />
				<param name="dailyUtilityConstant" value="0" />
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<param name="marginalUtilityOfTraveling_util_hr" value="0.0" />
				<!-- only petrol price 2022, other cost components were excluded -->
				<param name="monetaryDistanceRate" value="-1.49E-4" />
				<param name="mode" value="car" />
			</parameterset>
			<parameterset type="modeParams">
				<param name="constant" value="-5.718362123524031" />
				<param name="dailyMonetaryConstant" value="0.0" />
				<param name="dailyUtilityConstant" value="0.0" />
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<!-- Result of estimation -->
				<param name="marginalUtilityOfTraveling_util_hr" value="-4.442946" />
				<!-- car_monetaryDistanceRate -->
				<param name="monetaryDistanceRate" value="-1.49E-4" />
				<param name="mode" value="ride" />
			</parameterset>
			<parameterset type="modeParams">
				<param name="constant" value="-1.271197645272834" />
				<!-- 2022: 4-trips AB 10Euro -> 2.5 Eu/trip. yearly 761 Eu / 250 days ~ 3.00 Eu/day -->
				<!-- (fixed cost perception) 0.268622 * 3.00 -->
				<param name="dailyMonetaryConstant" value="-0.805866" />
				<param name="dailyUtilityConstant" value="0.0" />
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<param name="marginalUtilityOfTraveling_util_hr" value="0.0" />
				<param name="monetaryDistanceRate" value="0.0" />
				<param name="mode" value="pt" />
			</parameterset>
			<parameterset type="modeParams">
				<param name="constant" value="-1.1216558147784847" />
				<param name="dailyMonetaryConstant" value="0.0" />
				<param name="dailyUtilityConstant" value="0.0" />
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<param name="marginalUtilityOfTraveling_util_hr" value="-1.309362" />
				<param name="monetaryDistanceRate" value="0.0" />
				<param name="mode" value="bike" />
			</parameterset>
			<parameterset type="modeParams">
				<param name="constant" value="0.0" />
				<param name="dailyMonetaryConstant" value="0.0" />
				<param name="dailyUtilityConstant" value="0.0" />
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<param name="marginalUtilityOfTraveling_util_hr" value="0.0" />
				<param name="monetaryDistanceRate" value="0.0" />
				<param name="mode" value="walk" />
			</parameterset>
			<parameterset type="modeParams">
				<!-- Constant added to pt legs that use a bus. (Scoring for the whole pt trip still applies) -->
				<param name="constant" value="-0.164051" />
				<param name="marginalUtilityOfTraveling_util_hr" value="0.0" />
				<param name="mode" value="bus" />
			</parameterset>

			<parameterset type="modeParams" >
				<param name="constant" value="0.0" />
				<param name="dailyMonetaryConstant" value="0.0" />
				<param name="dailyUtilityConstant" value="0.0" />
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<param name="marginalUtilityOfTraveling_util_hr" value="0.0" />
				<param name="monetaryDistanceRate" value="-4.0E-4" />
				<param name="mode" value="freight" />
			</parameterset>
			<parameterset type="modeParams" >
				<param name="constant" value="0.0" />
				<param name="dailyMonetaryConstant" value="0.0" />
				<param name="dailyUtilityConstant" value="0.0" />
				<param name="marginalUtilityOfDistance_util_m" value="0.0" />
				<param name="marginalUtilityOfTraveling_util_hr" value="0.0" />
				<param name="monetaryDistanceRate" value="-4.0E-4" />
				<param name="mode" value="truck" />
			</parameterset>
		</parameterset>
	</module>

	<module name="counts">
		<param name="inputCountsFile" value="https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/projects/thesis/matsim-berlin-7.1-bicycle-contrib-3pct/output-calibrated-matsim-berlin-v7.1-bicycle-contrib/014.output_counts.xml.gz"/>
		<!-- this was 0.1 in v7.0 10pct, should be 10 for 10pct in my understanding DR20260408 -->
		<param name="countsScaleFactor" value="33"/>
	</module>

	<module name="replanningAnnealer">
		<param name="activateAnnealingModule" value="true" />
		<parameterset type="AnnealingVariable" >
			<param name="annealParameter" value="globalInnovationRate" />
			<param name="annealType" value="sigmoid" />
			<param name="subpopulation" value="person" />
			<!-- this parameter enters the exponential and sigmoid formulas. May be an iteration or a share, i.e. 0.5 for halfLife at 50% of iterations. Exponential: startValue / exp(it/halfLife) -->
			<param name="halfLife" value="0.5" />
			<!-- sigmoid: 1/(1+e^(shapeFactor*(it - halfLife))); geometric: startValue * shapeFactor^it; msa: startValue / it^shapeFactor -->
			<param name="shapeFactor" value="0.01" />
			<param name="startValue" value="0.45" />
			<param name="endValue" value="0.01" />
		</parameterset>
	</module>

	<module name="replanning">
		<param name="fractionOfIterationsToDisableInnovation" value="0.9"/>
		<!-- Strategies are added in code -->
	</module>

</config>
