1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

add multiple termination criteria

This commit is contained in:
oblonski 2014-09-14 20:09:09 +02:00
parent 89350be1e4
commit c75d3d5cc2
8 changed files with 334 additions and 42 deletions

View file

@ -1,14 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com"
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Copyright (C) 2014 Stefan Schroeder
~
~ This library is free software; you can redistribute it and/or
~ modify it under the terms of the GNU Lesser General Public
~ License as published by the Free Software Foundation; either
~ version 3.0 of the License, or (at your option) any later version.
~
~ This library is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
~ Lesser General Public License for more details.
~
~ You should have received a copy of the GNU Lesser General Public
~ License along with this library. If not, see <http://www.gnu.org/licenses/>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com" elementFormDefault="qualified">
<xs:element name="algorithm">
<xs:complexType>
<xs:sequence>
<xs:element name="iterations" type="xs:integer" minOccurs="0" maxOccurs="1" default="100"/>
<xs:element name="prematureBreak" type="prematureBreakType" minOccurs="0" maxOccurs="1"/>
<xs:choice>
<xs:element name="iterations" type="xs:integer" minOccurs="0" maxOccurs="1"/>
<xs:element name="maxIterations" type="xs:integer" minOccurs="0" maxOccurs="1"/>
</xs:choice>
<xs:choice>
<xs:element name="prematureBreak" type="prematureBreakType" minOccurs="0" maxOccurs="1"/>
<xs:element name="terminationCriteria">
<xs:complexType>
<xs:sequence>
<xs:element name="termination" type="prematureBreakType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="construction" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
@ -19,7 +51,7 @@
<xs:element name="strategy">
<xs:complexType>
<xs:all>
<xs:sequence>
<xs:element name="memory" type="xs:integer" minOccurs="0" maxOccurs="1" default="1"/>
<xs:element name="searchStrategies" minOccurs="1" maxOccurs="1">
<xs:complexType>
@ -28,9 +60,10 @@
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
@ -126,7 +159,7 @@
<xs:sequence>
<xs:element name="threshold" type="xs:double" minOccurs="1" maxOccurs="1"/>
<xs:element name="iterations" type="xs:integer" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:sequence>
</xs:group>
<xs:complexType name="moduleType">
@ -148,7 +181,7 @@
<xs:sequence>
<xs:element name="ruin" type="ruinType"/>
<xs:element name="insertion" type="insertionType"/>
</xs:sequence>
</xs:sequence>
</xs:group>
<xs:group name="gendreau_group">