xmlalgorithmjsprit

Setting XML configuration algorithm for solving VRPTW with JSPRIT library


We have the following XML file (from jsprit library) which sets the algorithm for solving VRPTW. We don't understand how set properly the various parameters to reach a good solution as well as those reported here: https://www.sintef.no/projectweb/top/vrptw/solomon-benchmark/100-customers/

Could someone help us out? Thanks.

<?xml version="1.0" encoding="UTF-8"?>
<algorithm xmlns="http://www.w3schools.com"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com algorithm_schema.xsd">
	
	<iterations>2000</iterations>

	<construction>
		<insertion name="bestInsertion"/>
	</construction>
	
	<strategy>
		<memory>1</memory>
		<searchStrategies>
			<searchStrategy name="randomRuinAndRecreate">
				<selector name="selectBest"/>
	  			<acceptor name="schrimpfAcceptance">  
 					<alpha>0.4</alpha>  
  					<warmup>100</warmup> 
  				</acceptor>
				<modules>
					<module name="ruin_and_recreate">
						<ruin name="randomRuin">
							<share>0.5</share>
						</ruin>
						<insertion name="regretInsertion"/>						
					</module>
					
				</modules>
				<probability>0.5</probability>
			</searchStrategy>
			
			<searchStrategy name="radialRuinAndRecreate">
				<selector name="selectBest"/>
				<acceptor name="schrimpfAcceptance"/>  
				<modules>
					<module name="ruin_and_recreate">
						<ruin name="radialRuin">
							<share>0.3</share>
						</ruin>
						<insertion name="regretInsertion"/>					
					</module>
					
				</modules>
				<probability>0.5</probability>
			</searchStrategy>
			
		</searchStrategies>		
	</strategy>
	

</algorithm>


Solution

  • I would suggest to use the pre-configured algorithms in jsprit.core.algorithm.box, i.e. from SchrimpfFactory, GreedySchrimpfFactory or Jsprit. Since these are factories you can easily create an algorithm from it.

    The other possibility is to configure the algorithms for your own. Here, I suggest to use the Solomon instances to find out the best configuration.