Doc automatic update
This commit is contained in:
@@ -1,4 +1,22 @@
|
||||
|
||||
v.0.1.13: (2012-09-08 12:51:55)
|
||||
-------------------------------
|
||||
The manual has now more than 200 pages.
|
||||
* Scripts:
|
||||
generate_manual.py improved.
|
||||
* Minor enhancements to the manual:
|
||||
- Intro of chapter 9 to give you an idea of its content.
|
||||
The links to the tutorial material don't work: this is normal.
|
||||
|
||||
|
||||
v.0.1.13: (2012-09-07 14:23:59)
|
||||
-------------------------------
|
||||
The manual has now more than 200 pages.
|
||||
* Scripts:
|
||||
generate_manual.py improved.
|
||||
* Minor enhancements to the manual:
|
||||
|
||||
|
||||
v.0.1.12: (2012-08-31 14:01:23)
|
||||
-------------------------------
|
||||
* Minor enhancements to the manual:
|
||||
|
||||
@@ -73,12 +73,14 @@ Thank you very much.
|
||||
<h2>What's new?</h2>
|
||||
<hr>
|
||||
<p id="new">Here is a little summary:</p>
|
||||
<pre id="verbatim">v.0.1.12: (2012-08-31 14:01:23)
|
||||
<pre id="verbatim">v.0.1.13: (2012-09-08 12:51:55)
|
||||
-------------------------------
|
||||
The manual has now more than 200 pages.
|
||||
* Scripts:
|
||||
generate_manual.py improved.
|
||||
* Minor enhancements to the manual:
|
||||
- epub: cover and authors added, some corrections.
|
||||
- minor corrections.
|
||||
- 5.1, 5.2 and (partially) 5.3 added.
|
||||
- Intro of chapter 9 to give you an idea of its content.
|
||||
The links to the tutorial material don't work: this is normal.
|
||||
|
||||
</pre>
|
||||
|
||||
@@ -101,9 +103,9 @@ We also recommend to use the epub version as it is currently the best available
|
||||
<ul>
|
||||
<li>Progress at a glance: <a href="#manual_progress">Manual</a> - <a href="#documentation_progress">Documentation generation</a></li>
|
||||
<li><a href="user_manual/index.html">Online version</a></li>
|
||||
<li class="manual_download"><a href="http://or-tools.googlecode.com/files/user_manual_A4.v.0.1.12.pdf.zip">A4 pdf version</a></li>
|
||||
<li class="manual_download"><a href="http://or-tools.googlecode.com/files/user_manual_USletter.v.0.1.12.pdf.zip">Letter pdf version</a></li>
|
||||
<li class="manual_download"><a href="http://or-tools.googlecode.com/files/user_manual.v.0.1.12.epub.zip">epub version</a> (experimental)</li>
|
||||
<li class="manual_download"><a href="http://or-tools.googlecode.com/files/user_manual_A4.v.0.1.13.pdf.zip">A4 pdf version</a></li>
|
||||
<li class="manual_download"><a href="http://or-tools.googlecode.com/files/user_manual_USletter.v.0.1.13.pdf.zip">Letter pdf version</a></li>
|
||||
<li class="manual_download"><a href="http://or-tools.googlecode.com/files/user_manual.v.0.1.13.epub.zip">epub version</a> (experimental)</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="progress">Progress at a glance:</h4>
|
||||
@@ -210,8 +212,8 @@ The following percentages show you the completion status of the manual. Note tha
|
||||
<td>Chap9: TSP with constraints</td>
|
||||
<td>
|
||||
<div class="progress_background">
|
||||
<div class="progress_foreground_red" style="width:7%;">
|
||||
<span>7%</span>
|
||||
<div class="progress_foreground_red" style="width:34%;">
|
||||
<span>34%</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -230,8 +232,8 @@ The following percentages show you the completion status of the manual. Note tha
|
||||
<td>Chap11: ARP with constraints</td>
|
||||
<td>
|
||||
<div class="progress_background">
|
||||
<div class="progress_foreground_red" style="width:0%;">
|
||||
<span>0%</span>
|
||||
<div class="progress_foreground_red" style="width:2%;">
|
||||
<span>2%</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -360,8 +362,8 @@ The following percentages show you the completion status of the manual. Note tha
|
||||
<td width="25%">Manual</td>
|
||||
<td>
|
||||
<div class="progress_background">
|
||||
<div class="progress_foreground_green" style="width:85%;">
|
||||
<span>85%</span>
|
||||
<div class="progress_foreground_green" style="width:87%;">
|
||||
<span>87%</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -517,6 +519,20 @@ files in some languages as the features implemented just don't have an equivalen
|
||||
<dt>chap3:</dt><dd><a href="tutorials/c++/chap3/golomb1.cc">golomb1.cc</a> | <a href="tutorials/c++/chap3/golomb2.cc">golomb2.cc</a> |
|
||||
<a href="tutorials/c++/chap3/golomb3.cc">golomb3.cc</a> | <a href="tutorials/c++/chap3/golomb4.cc">golomb4.cc</a> | <a href="tutorials/c++/chap3/golomb5.cc">golomb5.cc</a>
|
||||
| <a href="tutorials/c++/chap3/golomb6.cc">golomb6.cc</a></dd>
|
||||
<dt>chap4:</dt><dd>-</dd>
|
||||
<dt>chap5:</dt><dd>-</dd>
|
||||
<dt>chap6:</dt><dd>-</dd>
|
||||
<dt>chap7:</dt><dd>-</dd>
|
||||
<dt>chap8:</dt><dd>-</dd>
|
||||
<dt>chap9:</dt><dd><a href="tutorials/c++/chap9/tsp.h">tsp.h</a> | <a href="tutorials/c++/chap9/tsp_epix.h">tsp_epix.h</a> |
|
||||
<a href="tutorials/c++/chap9/tsplib_solution_to_epix.cc">tsplib_solution_to_epix.cc</a> | <a href="tutorials/c++/chap9/tsp.cc">tsp.cc</a>
|
||||
| <a href="tutorials/c++/chap9/tsp_forbidden_arcs.cc">tsp_forbidden_arcs.cc</a> | <a href="tutorials/c++/chap9/tsp_exact.cc">tsp_exact.cc</a>
|
||||
| <a href="tutorials/c++/chap9/tsptw.h">tsptw.h</a> | <a href="tutorials/c++/chap9/tsptw_epix.h">tsptw_epix.h</a>
|
||||
| <a href="tutorials/c++/chap9/tsptw.cc">tsptw.cc</a> | <a href="tutorials/c++/chap9/tsptw_ls.cc">tsptw_ls.cc</a></dd>
|
||||
<dt>chap10:</dt><dd>-</dd>
|
||||
<dt>chap11:</dt><dd>-</dd>
|
||||
<dt>chap12:</dt><dd>-</dd>
|
||||
<dt>chap13:</dt><dd>-</dd>
|
||||
</dl>
|
||||
|
||||
<li class="language" id="Python">Python</li>
|
||||
@@ -524,7 +540,17 @@ files in some languages as the features implemented just don't have an equivalen
|
||||
<dt>all:</dt><dd><a href="http://or-tools.googlecode.com/files/tutorials_python_examples.zip">tutorial_python_examples.zip</a></dd>
|
||||
<dt>chap2:</dt><dd><a href="tutorials/python/chap2/cp_is_fun1.py">cp_is_fun1.py</a> | <a href="tutorials/python/chap2/cp_is_fun2.py">cp_is_fun2.py</a> |
|
||||
<a href="tutorials/python/chap2/cp_is_fun3.py">cp_is_fun3.py</a> | <a href="tutorials/python/chap2/cp_is_fun4.py">cp_is_fun4.py</a> </dd>
|
||||
<dt>chap3:</dt><dd></dd>
|
||||
<dt>chap3:</dt><dd>-</dd>
|
||||
<dt>chap4:</dt><dd>-</dd>
|
||||
<dt>chap5:</dt><dd>-</dd>
|
||||
<dt>chap6:</dt><dd>-</dd>
|
||||
<dt>chap7:</dt><dd>-</dd>
|
||||
<dt>chap8:</dt><dd>-</dd>
|
||||
<dt>chap9:</dt><dd>-</dd>
|
||||
<dt>chap10:</dt><dd>-</dd>
|
||||
<dt>chap11:</dt><dd>-</dd>
|
||||
<dt>chap12:</dt><dd>-</dd>
|
||||
<dt>chap13:</dt><dd>-</dd>
|
||||
</dl>
|
||||
|
||||
<li class="language" id="Java">Java</li>
|
||||
@@ -532,7 +558,17 @@ files in some languages as the features implemented just don't have an equivalen
|
||||
<dt>all:</dt><dd><a href="http://or-tools.googlecode.com/files/tutorials_java_examples.zip">tutorial_java_examples.zip</a></dd>
|
||||
<dt>chap2:</dt><dd><a href="tutorials/java/com/google/ortools/tutorial/chap2/CpIsFun1.java">CpIsFun1.java</a> | <a href="tutorials/java/com/google/ortools/tutorial/chap2/CpIsFun2.java">CpIsFun2.java</a> |
|
||||
<span class="empty">CpIsFun3.java</span> | <a href="tutorials/java/com/google/ortools/tutorial/chap2/CpIsFun4.java">CpIsFun4.java</a> </dd>
|
||||
<dt>chap3:</dt><dd></dd>
|
||||
<dt>chap3:</dt><dd>-</dd>
|
||||
<dt>chap4:</dt><dd>-</dd>
|
||||
<dt>chap5:</dt><dd>-</dd>
|
||||
<dt>chap6:</dt><dd>-</dd>
|
||||
<dt>chap7:</dt><dd>-</dd>
|
||||
<dt>chap8:</dt><dd>-</dd>
|
||||
<dt>chap9:</dt><dd>-</dd>
|
||||
<dt>chap10:</dt><dd>-</dd>
|
||||
<dt>chap11:</dt><dd>-</dd>
|
||||
<dt>chap12:</dt><dd>-</dd>
|
||||
<dt>chap13:</dt><dd>-</dd>
|
||||
</dl>
|
||||
|
||||
<li class="language" id="Csharp">C#</li>
|
||||
@@ -540,7 +576,17 @@ files in some languages as the features implemented just don't have an equivalen
|
||||
<dt>all:</dt><dd><a href="http://or-tools.googlecode.com/files/tutorials_csharp_examples.zip">tutorial_csharp_examples.zip</a></dd>
|
||||
<dt>chap2:</dt><dd><a href="tutorials/csharp/chap2/cp_is_fun1.cs">cp_is_fun1.cs</a> | <a href="tutorials/csharp/chap2/cp_is_fun2.cs">cp_is_fun2.cs</a> |
|
||||
<span class="empty">cp_is_fun3.cs</span> | <a href="tutorials/csharp/chap2/cp_is_fun4.cs">cp_is_fun4.cs</a> </dd>
|
||||
<dt>chap3:</dt><dd></dd>
|
||||
<dt>chap3:</dt><dd>-</dd>
|
||||
<dt>chap4:</dt><dd>-</dd>
|
||||
<dt>chap5:</dt><dd>-</dd>
|
||||
<dt>chap6:</dt><dd>-</dd>
|
||||
<dt>chap7:</dt><dd>-</dd>
|
||||
<dt>chap8:</dt><dd>-</dd>
|
||||
<dt>chap9:</dt><dd>-</dd>
|
||||
<dt>chap10:</dt><dd>-</dd>
|
||||
<dt>chap11:</dt><dd>-</dd>
|
||||
<dt>chap12:</dt><dd>-</dd>
|
||||
<dt>chap13:</dt><dd>-</dd>
|
||||
</dl>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 460 B |
Binary file not shown.
|
After Width: | Height: | Size: 470 B |
Binary file not shown.
|
After Width: | Height: | Size: 224 B |
@@ -27,7 +27,7 @@
|
||||
<script type="text/javascript" src="../_static/doctools.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../index.html" />
|
||||
<link rel="next" title="9.1. A whole zoo of routing problems" href="tsp/zoo_routing_problems.html" />
|
||||
<link rel="next" title="9.1. A whole zoo of Routing Problems" href="tsp/zoo_routing_problems.html" />
|
||||
<link rel="prev" title="8.5. Summary" href="custom_constraints/summary.html" />
|
||||
</head>
|
||||
<body>
|
||||
@@ -38,7 +38,7 @@
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="tsp/zoo_routing_problems.html" title="9.1. A whole zoo of routing problems"
|
||||
<a href="tsp/zoo_routing_problems.html" title="9.1. A whole zoo of Routing Problems"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="custom_constraints/summary.html" title="8.5. Summary"
|
||||
@@ -54,38 +54,158 @@
|
||||
|
||||
<div class="section" id="travelling-salesman-problems-with-constraints-the-tsp-with-time-windows">
|
||||
<span id="chapter-tsp-with-constraints"></span><h1>9. Travelling Salesman Problems with constraints: the TSP with time windows</h1>
|
||||
<p>The third part of this manual deals with <em>Routing Problems</em>: we have a graph<a class="footnote-reference" href="#graph-or-network" id="id1">[1]</a> and seek
|
||||
to find a set of routes covering some or all nodes and/or edges/arcs while optimizing an objective function along
|
||||
the routes<a class="footnote-reference" href="#transportation-metaphor" id="id2">[2]</a> (time, goods delivered, etc.) and respecting
|
||||
certain constraints (number of vehicles, fixed depots, capacities, clients to serve, time windows, etc.).</p>
|
||||
<table class="docutils footnote" frame="void" id="graph-or-network" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>A <em>graph</em> <img class="math" src="../_images/math/b70ec1f605bd05af0f0f71e2631ec6f09d63890d.png" alt="G=(V,E)" style="vertical-align: -4px"/> is a set of vertices (the set <img class="math" src="../_images/math/12d58aa29201da09d8e620f8698e3a37547f6b4a.png" alt="V" style="vertical-align: 0px"/>) connected by edges
|
||||
(the set <img class="math" src="../_images/math/fa2fa899f0afb05d6837885523503a2d4df434f9.png" alt="E" style="vertical-align: 0px"/>). A directed edge is called an <em>arc</em>. When we have capacities on the edges, we talk
|
||||
about a <em>network</em>.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="transportation-metaphor" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td>The transportation metaphor is helpful to visualize the problems but the class
|
||||
of Routing Problems is much broader. The <em>Transportation Problem</em> for instance is really an <em>Assignment Problem</em>.
|
||||
Networks can be of any type: telephone networks (circuit switching), electronic data
|
||||
networks (such as the internet), etc.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>To solve these problems, the or-tools offers a dedicated Constraint Programming sub-library:
|
||||
the <em>Routing Library</em> (RL).</p>
|
||||
<p>The next three chapters each deal with one of three broad categories of Routing Problems:</p>
|
||||
<ul class="simple">
|
||||
<li>The chapter <a class="reference internal" href="#chapter-tsp-with-constraints"><em>Travelling Salesman Problems with constraints: the TSP with time windows</em></a> deals with <em>Node Routing Problems</em> where nodes must to be
|
||||
visited and served.</li>
|
||||
<li>The chapter <a class="reference internal" href="VRP.html#chapter-vrp-with-constraints"><em>Vehicule Routing Problems with constraints: the capacitated vehicle routing problem</em></a> deals with <em>Vehicle Routing Problems</em> where vehicles serve clients
|
||||
along the routes.</li>
|
||||
<li>The chapter <a class="reference internal" href="arc_routing.html#chapter-arc-routing-with-constraints"><em>Arc Routing Problems with constraints: the cumulative chinese postman problem</em></a> deals with <em>Arc Routing Problems</em> where arcs/edges must be
|
||||
visited and served.</li>
|
||||
</ul>
|
||||
<p>These three categories of problems share common properties but they all have their
|
||||
own paradigms and scientific communities.</p>
|
||||
<p>In this chapter, we’ll discover the RL with what is probably the most studied problem in Operations Research:
|
||||
the <em>Travelling Salesman Problem</em> (TSP)<a class="footnote-reference" href="#tsp-two-l" id="id3">[3]</a>. The best algorithms can now routinely
|
||||
solve TSP instances with then thousands of nodes to optimality<a class="footnote-reference" href="#tsp-record" id="id4">[4]</a>.</p>
|
||||
<p>These problems are out of scope of the Constraint Programming paradigm<a class="footnote-reference" href="#tsp-difficult-for-cp" id="id5">[5]</a>. CP shines when
|
||||
you consider complicated side constraints like the addition of <em>time windows</em>: each customer (represented by a node)
|
||||
has to be visited inside a given time interval.</p>
|
||||
<table class="docutils footnote" frame="void" id="tsp-two-l" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id3">[3]</a></td><td>We use the Canadian (and British) spelling of the verb <em>travelling</em> but you’ll find much more
|
||||
scientific articles under the American spelling: <em>traveling</em>.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="tsp-record" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id4">[4]</a></td><td>The record at the time of writing is the <tt class="docutils literal"><span class="pre">pla85900</span></tt> instance in Gerd Reinelt’s
|
||||
<a class="reference external" href="http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/">TSPLIB</a>. This instance is a VLSI application
|
||||
with 85 900 nodes. For many other instances with <strong>millions</strong> of nodes, solutions can be found that are
|
||||
guaranteed to be within 1% of an optimal tour!</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="tsp-difficult-for-cp" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id5">[5]</a></td><td>At least for now and if you try to solve them to optimality.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="rubric">Overview:</p>
|
||||
<p>We start this chapter by presenting in broad terms the different categories of Routing Problems and describe
|
||||
the Routing Library (RL) in a nutshell. Next, we introduce the Travelling Salesman Problem (TSP) and the TSPLIB instances.
|
||||
To better understand the RL, we say a few words about its inner working and the CP model we use. Because most of the
|
||||
Routing Problems are intractable, we use Local Search. We explain our two phases approach in details and show how
|
||||
to model the TSP in a few lines. We also show how to solve the TSP to optimality with the RL. Finally, we model and
|
||||
solve the TSP with Time Windows.</p>
|
||||
<p class="rubric">Prerequisites:</p>
|
||||
<ul class="simple">
|
||||
<li>Basic knowledge of C++.</li>
|
||||
<li>Basic knowledge of Constraint Programming (see chapter <a class="reference internal" href="introduction.html#chapter-introduction"><em>Introduction to constraint programming</em></a>).</li>
|
||||
<li>Basic knowledge of the Constraint Programming Solver (see chapter <a class="reference internal" href="first_steps.html#chapter-first-steps"><em>First steps with or-tools: cryptarithmetic puzzles</em></a>).</li>
|
||||
<li>Basic knowledge of Local Search (see chapter <a class="reference internal" href="LS.html#chapter-local-search"><em>Local search: the job-shop problem</em></a>).</li>
|
||||
</ul>
|
||||
<p class="rubric">Files:</p>
|
||||
<p>You can find the code in the directory <tt class="docutils literal"><span class="pre">documentation/tutorials/C++/chap9</span></tt>.</p>
|
||||
<p>We use the excellent <tt class="docutils literal"><span class="pre">C++</span></tt><a class="footnote-reference" href="#epix-latex" id="id6">[6]</a> <a class="reference external" href="http://mathcs.holycross.edu/~ahwang/current/ePiX.html">ePiX library</a>
|
||||
to visualize TSP solutions in <em>TSPLIB</em> format and TSPTW solutions in <em>López-Ibáñez-Blum</em> and <em>da Silva-Urrutia</em> formats.</p>
|
||||
<table class="docutils footnote" frame="void" id="epix-latex" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id6">[6]</a></td><td>The ePiX library uses the <img class="math" src="../_images/math/6e706c7be892b58ea1c3ab147eaae242299cf3da.png" alt="\text{\TeX/\LaTeX}" style="vertical-align: -4px"/> engine to create beautiful graphics.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The files inside this directory are:</p>
|
||||
<ul class="simple">
|
||||
<li><tt class="file docutils literal"><span class="pre">tsp.h</span></tt>: This file contains the <tt class="docutils literal"><span class="pre">TSPData</span></tt> class that records the data for the TSP.
|
||||
This file is used throughout the TSP examples.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsp_epix.h</span></tt>: This file provide the helper functions to visualize TSPLIB solutions with the ePiX library.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsplib_solution_to_epix.cc</span></tt>: A simple program to visualize solutions in TSPLIB format with the ePiX library.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsp.cc</span></tt>: A basic implementation of the TSP with the RL.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsp_forbidden_arcs.cc</span></tt>: The TSP with forbidden connexions between some nodes.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsp_exact.cc</span></tt>: A basic exact implementation of the TSP with the RL.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsptw.h</span></tt>: This file contains the <tt class="docutils literal"><span class="pre">TSPTWData</span></tt> class that records the data for the Travelling Salesman Problem with
|
||||
Time Windows. This file is used throughout the TSPTW examples.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsptw_epix.h</span></tt>: This file provide the helper functions to visualize TSPTW solutions with the ePiX library.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsptw.cc</span></tt>: A basic implementation of the TSPTW with the RL.</li>
|
||||
<li><tt class="file docutils literal"><span class="pre">tsptw_ls.cc</span></tt>: A specialized implementation of the TSPTW with the RL.</li>
|
||||
</ul>
|
||||
<p class="rubric">Content:</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/zoo_routing_problems.html">9.1. A whole zoo of routing problems</a><ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/zoo_routing_problems.html">9.1. A whole zoo of Routing Problems</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/zoo_routing_problems.html#node-routing-problems">9.1.1. Node Routing Problems</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/zoo_routing_problems.html#vehicle-routing-problems">9.1.2. Vehicle Routing Problems</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/zoo_routing_problems.html#arc-routing-problems">9.1.3. Arc Routing Problems</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/routing_library.html">9.2. The Vehicle Routing Library (VRL) in a nutshell</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/routing_library.html">9.2. The Routing Library (RL) in a nutshell</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/routing_library.html#objectives">9.2.1. Objectives</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/routing_library.html#out-of-the-box-models">9.2.2. Out of the box models</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/routing_library.html#on-top-of-the-cp-library">9.2.3. On top of the CP library</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/routing_library.html#node-and-vehicle-oriented">9.2.4. Node and vehicle oriented</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/routing_library.html#local-search">9.2.5. Local Search</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/routing_library.html#tuning-the-search">9.2.6. Tuning the search</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/routing_library.html#limitations">9.2.7. Limitations</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/tsp.html">9.3. The travelling Salesman Problem</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsp.html#what-is-the-travelling-salesman-problem">9.3.1. What is the Travelling Salesman Problem?</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsp.html#id1">9.3.1. The Travelling Salesman Problem</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsp.html#benchmark-data">9.3.2. Benchmark data</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsp.html#the-tspdata-class">9.3.3. The <tt class="docutils literal"><span class="pre">TSPData</span></tt> class</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsp.html#visualization-with-epix">9.3.4. Visualization with <tt class="docutils literal"><span class="pre">ePix</span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/automatic_variables.html">9.4. Automatic variables</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/automatic_variables.html#nodeindex-or-int64">9.4.1. <tt class="docutils literal"><span class="pre">NodeIndex</span></tt> or <tt class="docutils literal"><span class="pre">int64</span></tt>?</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/automatic_variables.html#path-variables">9.4.2. Path variables</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/automatic_variables.html#dimension-variables">9.4.3. Dimension variables</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/model_behind_scene.html">9.4. The model behind the scene</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/model_behind_scene.html#the-idea">9.4.1. The idea</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/model_behind_scene.html#the-variables">9.4.2. The variables</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/model_behind_scene.html#the-constraints">9.4.3. The constraints</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/first_implementation.html">9.5. An exact implementation of the TSP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/two_phases_approaches.html">9.6. The two phases approach</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/two_phases_approaches.html#local-path-operator">9.6.1. Local Path Operator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/two_phases_approaches.html">9.5. The two phases approach</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/two_phases_approaches.html#the-initial-solution">9.5.1. The initial solution</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/two_phases_approaches.html#local-search-pathoperators">9.5.2. Local Search <tt class="docutils literal"><span class="pre">PathOperator</span></tt>s</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/tspwtw.html">9.7. The Travelling Salesman Problem with Time Windows (TSPTW)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/second_implementation.html">9.8. An exact implementation of the TSPTW</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/third_implementation.html">9.9. The TSPTW and Local Search</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/first_tsp_implementation.html">9.6. The TSP in or-tools</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/exact_tsp_implementation.html">9.7. An exact implementation of the TSP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/tsptw.html">9.8. The Travelling Salesman Problem with Time Windows (TSPTW)</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsptw.html#the-travelling-salesman-problem-with-time-windows">9.8.1. The Travelling Salesman Problem with Time Windows</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsptw.html#benchmark-data">9.8.2. Benchmark data</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsptw.html#the-tsptwdata-class">9.8.3. The <tt class="docutils literal"><span class="pre">TSPTWData</span></tt> class</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tsp/tsptw.html#visualization-with-epix">9.8.4. Visualization with <tt class="docutils literal"><span class="pre">ePix</span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/first_tsptw_implementation.html">9.9. The TSPTW in or-tools</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tsp/tsptw_summary.html">9.10. Summary</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
@@ -205,7 +325,7 @@ Search:
|
||||
<a href="../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="tsp/zoo_routing_problems.html" title="9.1. A whole zoo of routing problems"
|
||||
<a href="tsp/zoo_routing_problems.html" title="9.1. A whole zoo of Routing Problems"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="custom_constraints/summary.html" title="8.5. Summary"
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="search_primitives/default_search.html">5.7. Default search</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="search_primitives/breaking_symmetry.html">5.8. Breaking symmetries with <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a><ul class="simple">
|
||||
<li class="toctree-l1"><a class="reference internal" href="search_primitives/breaking_symmetry.html">5.8. Breaking symmetries (part II): <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a><ul class="simple">
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="search_primitives/summary.html">5.9. Summary</a></li>
|
||||
|
||||
@@ -74,7 +74,7 @@ that prints the first solution of a given <tt class="docutils literal"><span cla
|
||||
the boolean gflag <tt class="docutils literal"><span class="pre">FLAGS_print</span></tt> is set to <tt class="docutils literal"><span class="pre">true</span></tt>.</p>
|
||||
<p>To be able to collect only
|
||||
unique solutions (up to a symmetry), we will use <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s
|
||||
in the section <a class="reference internal" href="breaking_symmetry.html#search-primitives-breaking-symmetry"><em>Breaking symmetries with SymmetryBreakers</em></a>.</p>
|
||||
in the section <a class="reference internal" href="breaking_symmetry.html#search-primitives-breaking-symmetry"><em>Breaking symmetries (part II): SymmetryBreakers</em></a>.</p>
|
||||
<p>A boolean gflag <tt class="docutils literal"><span class="pre">FLAGS_use_symmetry</span></tt> allows or disallows the use of <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s. This flag is defined
|
||||
in the header <tt class="docutils literal"><span class="pre">./nqueens_utilities.h</span></tt> and to be able to use it in our main file, we need to <em>declare</em> it:</p>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="n">DECLARE_bool</span><span class="p">(</span><span class="n">use_symmetry</span><span class="p">);</span>
|
||||
|
||||
@@ -82,7 +82,7 @@ when some of the callbacks of the <tt class="docutils literal"><span class="pre"
|
||||
traverse or explore. Each node of the tree corresponds to a state of the search. Take an array of variables <img class="math" src="../../_images/math/3721871babf1d0ae999f03599154b5bc5f56adff.png" alt="x[]" style="vertical-align: -5px"/>
|
||||
and a valid index <img class="math" src="../../_images/math/34857b3ba74ce5cd8607f3ebd23e9015908ada71.png" alt="i" style="vertical-align: 0px"/>.</p>
|
||||
<p>At one node in the search tree, we divide the search space in two exclusive search subspaces by imposing
|
||||
<img class="math" src="../../_images/math/1fb5e597525d6008ac2d935abb8d146f3ddc02f2.png" alt="x[i] = 2" style="vertical-align: -5px"/> at one branch and <img class="math" src="../../_images/math/4937591eda0b24f172fddd70dec6839a7f7e2761.png" alt="x[i] \neq 2" style="vertical-align: -5px"/> at another branch like in Figure
|
||||
<img class="math" src="../../_images/math/1fb5e597525d6008ac2d935abb8d146f3ddc02f2.png" alt="x[i] = 2" style="vertical-align: -5px"/> at one branch and <img class="math" src="../../_images/math/4937591eda0b24f172fddd70dec6839a7f7e2761.png" alt="x[i] \neq 2" style="vertical-align: -5px"/> at another branch like in the Figure
|
||||
<a class="reference internal" href="#search-space-divided-in-two"><em>The search space is divided in two search sub-trees</em></a>.</p>
|
||||
<div class="figure align-center" id="search-space-divided-in-two">
|
||||
<img alt="The search space is divided in two search sub-trees." src="../../_images/search_tree0.png" />
|
||||
@@ -117,7 +117,7 @@ that is passed as an argument to another code. This is a very common and handy w
|
||||
example, the search algorithm is low level code. You don’t want to change this code but you would like to change the behaviour of the
|
||||
search algorithm to your liking. How do you do this? Callbacks are to the rescue! At some places in the low level code,
|
||||
some functions are called and you can redefine those functions. There are several techniques available. In this section, we redefine
|
||||
some virtual functions of an abstract class. In section XXX, we will see yet another similar mechanism.</p>
|
||||
some virtual functions of an abstract class. In section XXX, we will see another similar mechanism.</p>
|
||||
<p>An example will clarify this mechanism. Take a <tt class="docutils literal"><span class="pre">SearchMonitor</span></tt> class. If you want to implement your own search monitor, you
|
||||
inherit from <tt class="docutils literal"><span class="pre">SearchMonitor</span></tt> and you redefine the methods you need:</p>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MySearchMonitor</span><span class="o">:</span> <span class="k">public</span> <span class="n">SearchMonitor</span> <span class="p">{</span>
|
||||
@@ -158,7 +158,7 @@ A <tt class="docutils literal"><span class="pre">DecisionBuilder</span></tt> is
|
||||
tree at this node by applying this decision (left branch) and by refuting this decision (right branch).</p>
|
||||
<p>At the current node, the <tt class="docutils literal"><span class="pre">DecisionBuilder</span></tt> of the current search returns
|
||||
a <tt class="docutils literal"><span class="pre">Decision</span></tt>. The <tt class="docutils literal"><span class="pre">Decision</span></tt> class basically tells the solver what to do
|
||||
going left (<tt class="docutils literal"><span class="pre">Apply()</span></tt>) or right (<tt class="docutils literal"><span class="pre">Refute</span></tt>) as illustrated on the next figure.</p>
|
||||
going left (<tt class="docutils literal"><span class="pre">Apply()</span></tt>) or right (<tt class="docutils literal"><span class="pre">Refute()</span></tt>) as illustrated on the next figure.</p>
|
||||
<div class="figure align-center">
|
||||
<a class="reference internal image-reference" href="../../_images/decision1.png"><img alt="A Decision class Apply() or Refute()" src="../../_images/decision1.png" style="width: 150pt;" /></a>
|
||||
<p class="caption"><tt class="docutils literal"><span class="pre">Apply()</span></tt>: go left, <tt class="docutils literal"><span class="pre">Refute()</span></tt>: go right.</p>
|
||||
@@ -177,7 +177,7 @@ to implement different variants of the search algorithm.</td></tr>
|
||||
</table>
|
||||
<div class="topic">
|
||||
<p class="topic-title first">What is a pre-order traversal of a binary tree?</p>
|
||||
<p>The search tree depicted on Figure <a class="reference internal" href="cpviz.html#search-tree-of-nqueens-with-n-equal-to-4"><em>The actual search tree of our search</em></a> has
|
||||
<p>The search tree depicted on the Figure <a class="reference internal" href="cpviz.html#search-tree-of-nqueens-with-n-equal-to-4"><em>The actual search tree of our search</em></a> has
|
||||
its node numbered in the order given by a pre-order traversal. There are two other traversals:
|
||||
<em>in-order</em> and <em>post-order</em>. We invite the curious reader to google <em>pre-order traversal of a tree</em>
|
||||
to find more. There are a number of applets showing the different traversals.</p>
|
||||
@@ -578,12 +578,12 @@ algorithm:</p>
|
||||
<span class="k">case</span> <span class="nl">OUTSIDE_SEARCH:</span> <span class="p">{</span>
|
||||
<span class="n">state_</span> <span class="o">=</span> <span class="n">IN_ROOT_NODE</span><span class="p">;</span>
|
||||
<span class="n">search</span><span class="o">-></span><span class="n">BeginInitialPropagation</span><span class="p">();</span><span class="c1">// SEARCHMONITOR CALLBACKS</span>
|
||||
<span class="n">CP_TRY</span><span class="p">(</span><span class="n">search</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">try</span> <span class="p">{</span>
|
||||
<span class="n">ProcessConstraints</span><span class="p">();</span>
|
||||
<span class="n">search</span><span class="o">-></span><span class="n">EndInitialPropagation</span><span class="p">();</span><span class="c1">// SEARCHMONITOR CALLBACKS</span>
|
||||
<span class="p">...</span>
|
||||
<span class="n">state_</span> <span class="o">=</span> <span class="n">IN_SEARCH</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">CP_ON_FAIL</span> <span class="p">{</span>
|
||||
<span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="k">const</span> <span class="n">FailException</span><span class="o">&</span> <span class="n">e</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="p">...</span>
|
||||
<span class="n">state_</span> <span class="o">=</span> <span class="n">PROBLEM_INFEASIBLE</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="kc">false</span><span class="p">;</span>
|
||||
@@ -714,7 +714,8 @@ but these possibilities are not shown here.</td></tr>
|
||||
<table class="docutils footnote" frame="void" id="try-catch-not-used" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id7">[6]</a></td><td>Did we already mention that the <tt class="docutils literal"><span class="pre">try</span> <span class="pre">-</span> <span class="pre">catch</span></tt> mechanism is <em>not</em> used in the production code?</td></tr>
|
||||
<tr><td class="label"><a class="fn-backref" href="#id7">[6]</a></td><td>Did we already mention that the <tt class="docutils literal"><span class="pre">try</span> <span class="pre">-</span> <span class="pre">catch</span></tt> mechanism is <em>not</em> used in the production
|
||||
code? ;-)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>If the <tt class="docutils literal"><span class="pre">Decision</span></tt> pointer <tt class="docutils literal"><span class="pre">fd</span></tt> is not <tt class="docutils literal"><span class="pre">NULL</span></tt>, this means that we have backtracked to the first available (non visited)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>5.8. Breaking symmetries with SymmetryBreakers — or-tools User's Manual</title>
|
||||
<title>5.8. Breaking symmetries (part II): SymmetryBreakers — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -54,8 +54,8 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="breaking-symmetries-with-symmetrybreakers">
|
||||
<span id="search-primitives-breaking-symmetry"></span><h1>5.8. Breaking symmetries with <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</h1>
|
||||
<div class="section" id="breaking-symmetries-part-ii-symmetrybreakers">
|
||||
<span id="search-primitives-breaking-symmetry"></span><h1>5.8. Breaking symmetries (part II): <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</h1>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
@@ -141,7 +141,7 @@ Search:
|
||||
title="next chapter">5.9. Summary</a></p>
|
||||
<h3>Current section</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">5.8. Breaking symmetries with <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a><ul class="simple">
|
||||
<li><a class="reference internal" href="#">5.8. Breaking symmetries (part II): <tt class="docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a><ul class="simple">
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="5. Defining search primitives: the n-queens problem" href="../search_primitives.html" />
|
||||
<link rel="next" title="5.8. Breaking symmetries with SymmetryBreakers" href="breaking_symmetry.html" />
|
||||
<link rel="next" title="5.8. Breaking symmetries (part II): SymmetryBreakers" href="breaking_symmetry.html" />
|
||||
<link rel="prev" title="5.6. Customized search primitives" href="customized_search_primitives.html" />
|
||||
</head>
|
||||
<body>
|
||||
@@ -39,7 +39,7 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries with SymmetryBreakers"
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries (part II): SymmetryBreakers"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="customized_search_primitives.html" title="5.6. Customized search primitives"
|
||||
@@ -138,7 +138,7 @@ Search:
|
||||
title="previous chapter">5.6. Customized search primitives</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="breaking_symmetry.html"
|
||||
title="next chapter">5.8. Breaking symmetries with <tt class="docutils literal docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a></p>
|
||||
title="next chapter">5.8. Breaking symmetries (part II): <tt class="docutils literal docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
@@ -150,7 +150,7 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries with SymmetryBreakers"
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries (part II): SymmetryBreakers"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="customized_search_primitives.html" title="5.6. Customized search primitives"
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="5. Defining search primitives: the n-queens problem" href="../search_primitives.html" />
|
||||
<link rel="next" title="6. Local search: the job-shop problem" href="../LS.html" />
|
||||
<link rel="prev" title="5.8. Breaking symmetries with SymmetryBreakers" href="breaking_symmetry.html" />
|
||||
<link rel="prev" title="5.8. Breaking symmetries (part II): SymmetryBreakers" href="breaking_symmetry.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -42,7 +42,7 @@
|
||||
<a href="../LS.html" title="6. Local search: the job-shop problem"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries with SymmetryBreakers"
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries (part II): SymmetryBreakers"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../search_primitives.html" accesskey="U">5. Defining search primitives: the n-queens problem</a> »</li>
|
||||
@@ -135,7 +135,7 @@ Search:
|
||||
title="previous chapter">5. Defining search primitives: the n-queens problem</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="breaking_symmetry.html"
|
||||
title="previous chapter">5.8. Breaking symmetries with <tt class="docutils literal docutils literal docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a></p>
|
||||
title="previous chapter">5.8. Breaking symmetries (part II): <tt class="docutils literal docutils literal docutils literal"><span class="pre">SymmetryBreaker</span></tt>s</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="../LS.html"
|
||||
title="next chapter">6. Local search: the job-shop problem</a></p>
|
||||
@@ -153,7 +153,7 @@ Search:
|
||||
<a href="../LS.html" title="6. Local search: the job-shop problem"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries with SymmetryBreakers"
|
||||
<a href="breaking_symmetry.html" title="5.8. Breaking symmetries (part II): SymmetryBreakers"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../search_primitives.html" >5. Defining search primitives: the n-queens problem</a> »</li>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.8. An exact implementation of the TSPTW — or-tools User's Manual</title>
|
||||
<title>9.7. An exact implementation of the TSP — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -28,8 +28,8 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.9. The TSPTW and Local Search" href="third_implementation.html" />
|
||||
<link rel="prev" title="9.7. The Travelling Salesman Problem with Time Windows (TSPTW)" href="tspwtw.html" />
|
||||
<link rel="next" title="9.8. The Travelling Salesman Problem with Time Windows (TSPTW)" href="tsptw.html" />
|
||||
<link rel="prev" title="9.6. The TSP in or-tools" href="first_tsp_implementation.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -39,10 +39,10 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="third_implementation.html" title="9.9. The TSPTW and Local Search"
|
||||
<a href="tsptw.html" title="9.8. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="tspwtw.html" title="9.7. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
<a href="first_tsp_implementation.html" title="9.6. The TSP in or-tools"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -54,8 +54,8 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="an-exact-implementation-of-the-tsptw">
|
||||
<span id="tsptw-first-implementation"></span><h1>9.8. An exact implementation of the TSPTW</h1>
|
||||
<div class="section" id="an-exact-implementation-of-the-tsp">
|
||||
<span id="exact-tsp-implementation"></span><h1>9.7. An exact implementation of the TSP</h1>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
@@ -134,11 +134,11 @@ Search:
|
||||
<p class="topless"><a href="../TSP.html"
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="tspwtw.html"
|
||||
title="previous chapter">9.7. The Travelling Salesman Problem with Time Windows (TSPTW)</a></p>
|
||||
<p class="topless"><a href="first_tsp_implementation.html"
|
||||
title="previous chapter">9.6. The TSP in or-tools</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="third_implementation.html"
|
||||
title="next chapter">9.9. The TSPTW and Local Search</a></p>
|
||||
<p class="topless"><a href="tsptw.html"
|
||||
title="next chapter">9.8. The Travelling Salesman Problem with Time Windows (TSPTW)</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
@@ -150,10 +150,10 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="third_implementation.html" title="9.9. The TSPTW and Local Search"
|
||||
<a href="tsptw.html" title="9.8. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="tspwtw.html" title="9.7. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
<a href="first_tsp_implementation.html" title="9.6. The TSP in or-tools"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.5. An exact implementation of the TSP — or-tools User's Manual</title>
|
||||
<title>9.6. The TSP in or-tools — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -28,8 +28,8 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.6. The two phases approach" href="two_phases_approaches.html" />
|
||||
<link rel="prev" title="9.4. Automatic variables" href="automatic_variables.html" />
|
||||
<link rel="next" title="9.7. An exact implementation of the TSP" href="exact_tsp_implementation.html" />
|
||||
<link rel="prev" title="9.5. The two phases approach" href="two_phases_approaches.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -39,10 +39,10 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="two_phases_approaches.html" title="9.6. The two phases approach"
|
||||
<a href="exact_tsp_implementation.html" title="9.7. An exact implementation of the TSP"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="automatic_variables.html" title="9.4. Automatic variables"
|
||||
<a href="two_phases_approaches.html" title="9.5. The two phases approach"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -54,8 +54,8 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="an-exact-implementation-of-the-tsp">
|
||||
<span id="tsp-first-implementation"></span><h1>9.5. An exact implementation of the TSP</h1>
|
||||
<div class="section" id="the-tsp-in-or-tools">
|
||||
<span id="first-tsp-implementation"></span><h1>9.6. The TSP in or-tools</h1>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
@@ -134,11 +134,11 @@ Search:
|
||||
<p class="topless"><a href="../TSP.html"
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="automatic_variables.html"
|
||||
title="previous chapter">9.4. Automatic variables</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="two_phases_approaches.html"
|
||||
title="next chapter">9.6. The two phases approach</a></p>
|
||||
title="previous chapter">9.5. The two phases approach</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="exact_tsp_implementation.html"
|
||||
title="next chapter">9.7. An exact implementation of the TSP</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
@@ -150,10 +150,10 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="two_phases_approaches.html" title="9.6. The two phases approach"
|
||||
<a href="exact_tsp_implementation.html" title="9.7. An exact implementation of the TSP"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="automatic_variables.html" title="9.4. Automatic variables"
|
||||
<a href="two_phases_approaches.html" title="9.5. The two phases approach"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.9. The TSPTW and Local Search — or-tools User's Manual</title>
|
||||
<title>9.9. The TSPTW in or-tools — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -29,7 +29,7 @@
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.10. Summary" href="tsptw_summary.html" />
|
||||
<link rel="prev" title="9.8. An exact implementation of the TSPTW" href="second_implementation.html" />
|
||||
<link rel="prev" title="9.8. The Travelling Salesman Problem with Time Windows (TSPTW)" href="tsptw.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -42,7 +42,7 @@
|
||||
<a href="tsptw_summary.html" title="9.10. Summary"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="second_implementation.html" title="9.8. An exact implementation of the TSPTW"
|
||||
<a href="tsptw.html" title="9.8. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -54,8 +54,8 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="the-tsptw-and-local-search">
|
||||
<span id="tsptw-local-search"></span><h1>9.9. The TSPTW and Local Search</h1>
|
||||
<div class="section" id="the-tsptw-in-or-tools">
|
||||
<span id="first-tsptw-implementation"></span><h1>9.9. The TSPTW in or-tools</h1>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
@@ -134,8 +134,8 @@ Search:
|
||||
<p class="topless"><a href="../TSP.html"
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="second_implementation.html"
|
||||
title="previous chapter">9.8. An exact implementation of the TSPTW</a></p>
|
||||
<p class="topless"><a href="tsptw.html"
|
||||
title="previous chapter">9.8. The Travelling Salesman Problem with Time Windows (TSPTW)</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="tsptw_summary.html"
|
||||
title="next chapter">9.10. Summary</a></p>
|
||||
@@ -153,7 +153,7 @@ Search:
|
||||
<a href="tsptw_summary.html" title="9.10. Summary"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="second_implementation.html" title="9.8. An exact implementation of the TSPTW"
|
||||
<a href="tsptw.html" title="9.8. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.4. Automatic variables — or-tools User's Manual</title>
|
||||
<title>9.4. The model behind the scene — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -28,7 +28,7 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.5. An exact implementation of the TSP" href="first_implementation.html" />
|
||||
<link rel="next" title="9.5. The two phases approach" href="two_phases_approaches.html" />
|
||||
<link rel="prev" title="9.3. The travelling Salesman Problem" href="tsp.html" />
|
||||
</head>
|
||||
<body>
|
||||
@@ -39,7 +39,7 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="first_implementation.html" title="9.5. An exact implementation of the TSP"
|
||||
<a href="two_phases_approaches.html" title="9.5. The two phases approach"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="tsp.html" title="9.3. The travelling Salesman Problem"
|
||||
@@ -54,19 +54,28 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="automatic-variables">
|
||||
<span id="id1"></span><h1>9.4. Automatic variables</h1>
|
||||
<div class="section" id="the-model-behind-the-scene">
|
||||
<span id="automatic-variables"></span><h1>9.4. The model behind the scene</h1>
|
||||
<div class="section" id="the-idea">
|
||||
<h2>9.4.1. The idea</h2>
|
||||
</div>
|
||||
<div class="section" id="the-variables">
|
||||
<h2>9.4.2. The variables</h2>
|
||||
<div class="section" id="nodeindex-or-int64">
|
||||
<h2>9.4.1. <tt class="docutils literal"><span class="pre">NodeIndex</span></tt> or <tt class="docutils literal"><span class="pre">int64</span></tt>?</h2>
|
||||
<h3>9.4.2.1. <tt class="docutils literal"><span class="pre">NodeIndex</span></tt> or <tt class="docutils literal"><span class="pre">int64</span></tt>?</h3>
|
||||
</div>
|
||||
<div class="section" id="path-variables">
|
||||
<h2>9.4.2. Path variables</h2>
|
||||
<div class="section" id="how-to-follow-a-path">
|
||||
<h3>9.4.2.1. How to follow a path?</h3>
|
||||
<h3>9.4.2.2. Path variables</h3>
|
||||
<div class="section" id="how-to-follow-a-route">
|
||||
<h4>9.4.2.2.1. How to follow a route?</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="dimension-variables">
|
||||
<h2>9.4.3. Dimension variables</h2>
|
||||
<h3>9.4.2.3. Dimension variables</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="the-constraints">
|
||||
<h2>9.4.3. The constraints</h2>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
</div>
|
||||
@@ -149,17 +158,22 @@ Search:
|
||||
<p class="topless"><a href="tsp.html"
|
||||
title="previous chapter">9.3. The travelling Salesman Problem</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="first_implementation.html"
|
||||
title="next chapter">9.5. An exact implementation of the TSP</a></p>
|
||||
<p class="topless"><a href="two_phases_approaches.html"
|
||||
title="next chapter">9.5. The two phases approach</a></p>
|
||||
<h3>Current section</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">9.4. Automatic variables</a><ul>
|
||||
<li><a class="reference internal" href="#nodeindex-or-int64">9.4.1. <tt class="docutils literal"><span class="pre">NodeIndex</span></tt> or <tt class="docutils literal"><span class="pre">int64</span></tt>?</a></li>
|
||||
<li><a class="reference internal" href="#path-variables">9.4.2. Path variables</a><ul>
|
||||
<li><a class="reference internal" href="#how-to-follow-a-path">9.4.2.1. How to follow a path?</a></li>
|
||||
<li><a class="reference internal" href="#">9.4. The model behind the scene</a><ul>
|
||||
<li><a class="reference internal" href="#the-idea">9.4.1. The idea</a></li>
|
||||
<li><a class="reference internal" href="#the-variables">9.4.2. The variables</a><ul>
|
||||
<li><a class="reference internal" href="#nodeindex-or-int64">9.4.2.1. <tt class="docutils literal"><span class="pre">NodeIndex</span></tt> or <tt class="docutils literal"><span class="pre">int64</span></tt>?</a></li>
|
||||
<li><a class="reference internal" href="#path-variables">9.4.2.2. Path variables</a><ul>
|
||||
<li><a class="reference internal" href="#how-to-follow-a-route">9.4.2.2.1. How to follow a route?</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#dimension-variables">9.4.3. Dimension variables</a></li>
|
||||
<li><a class="reference internal" href="#dimension-variables">9.4.2.3. Dimension variables</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#the-constraints">9.4.3. The constraints</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -175,7 +189,7 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="first_implementation.html" title="9.5. An exact implementation of the TSP"
|
||||
<a href="two_phases_approaches.html" title="9.5. The two phases approach"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="tsp.html" title="9.3. The travelling Salesman Problem"
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.2. The Vehicle Routing Library (VRL) in a nutshell — or-tools User's Manual</title>
|
||||
<title>9.2. The Routing Library (RL) in a nutshell — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -29,7 +29,7 @@
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.3. The travelling Salesman Problem" href="tsp.html" />
|
||||
<link rel="prev" title="9.1. A whole zoo of routing problems" href="zoo_routing_problems.html" />
|
||||
<link rel="prev" title="9.1. A whole zoo of Routing Problems" href="zoo_routing_problems.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -42,7 +42,7 @@
|
||||
<a href="tsp.html" title="9.3. The travelling Salesman Problem"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="zoo_routing_problems.html" title="9.1. A whole zoo of routing problems"
|
||||
<a href="zoo_routing_problems.html" title="9.1. A whole zoo of Routing Problems"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -54,10 +54,31 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="the-vehicle-routing-library-vrl-in-a-nutshell">
|
||||
<span id="tsp-routing-solver"></span><h1>9.2. The Vehicle Routing Library (VRL) in a nutshell</h1>
|
||||
<div class="section" id="the-routing-library-rl-in-a-nutshell">
|
||||
<span id="tsp-routing-solver"></span><h1>9.2. The Routing Library (RL) in a nutshell</h1>
|
||||
<div class="section" id="objectives">
|
||||
<h2>9.2.1. Objectives</h2>
|
||||
</div>
|
||||
<div class="section" id="out-of-the-box-models">
|
||||
<h2>9.2.2. Out of the box models</h2>
|
||||
</div>
|
||||
<div class="section" id="on-top-of-the-cp-library">
|
||||
<h2>9.2.3. On top of the CP library</h2>
|
||||
</div>
|
||||
<div class="section" id="node-and-vehicle-oriented">
|
||||
<h2>9.2.4. Node and vehicle oriented</h2>
|
||||
</div>
|
||||
<div class="section" id="local-search">
|
||||
<h2>9.2.5. Local Search</h2>
|
||||
</div>
|
||||
<div class="section" id="tuning-the-search">
|
||||
<h2>9.2.6. Tuning the search</h2>
|
||||
</div>
|
||||
<div class="section" id="limitations">
|
||||
<h2>9.2.7. Limitations</h2>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
@@ -135,10 +156,24 @@ Search:
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="zoo_routing_problems.html"
|
||||
title="previous chapter">9.1. A whole zoo of routing problems</a></p>
|
||||
title="previous chapter">9.1. A whole zoo of Routing Problems</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="tsp.html"
|
||||
title="next chapter">9.3. The travelling Salesman Problem</a></p>
|
||||
<h3>Current section</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">9.2. The Routing Library (RL) in a nutshell</a><ul>
|
||||
<li><a class="reference internal" href="#objectives">9.2.1. Objectives</a></li>
|
||||
<li><a class="reference internal" href="#out-of-the-box-models">9.2.2. Out of the box models</a></li>
|
||||
<li><a class="reference internal" href="#on-top-of-the-cp-library">9.2.3. On top of the CP library</a></li>
|
||||
<li><a class="reference internal" href="#node-and-vehicle-oriented">9.2.4. Node and vehicle oriented</a></li>
|
||||
<li><a class="reference internal" href="#local-search">9.2.5. Local Search</a></li>
|
||||
<li><a class="reference internal" href="#tuning-the-search">9.2.6. Tuning the search</a></li>
|
||||
<li><a class="reference internal" href="#limitations">9.2.7. Limitations</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
@@ -153,7 +188,7 @@ Search:
|
||||
<a href="tsp.html" title="9.3. The travelling Salesman Problem"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="zoo_routing_problems.html" title="9.1. A whole zoo of routing problems"
|
||||
<a href="zoo_routing_problems.html" title="9.1. A whole zoo of Routing Problems"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.4. Automatic variables" href="automatic_variables.html" />
|
||||
<link rel="prev" title="9.2. The Vehicle Routing Library (VRL) in a nutshell" href="routing_library.html" />
|
||||
<link rel="next" title="9.4. The model behind the scene" href="model_behind_scene.html" />
|
||||
<link rel="prev" title="9.2. The Routing Library (RL) in a nutshell" href="routing_library.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -39,10 +39,10 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="automatic_variables.html" title="9.4. Automatic variables"
|
||||
<a href="model_behind_scene.html" title="9.4. The model behind the scene"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="routing_library.html" title="9.2. The Vehicle Routing Library (VRL) in a nutshell"
|
||||
<a href="routing_library.html" title="9.2. The Routing Library (RL) in a nutshell"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -56,8 +56,26 @@
|
||||
|
||||
<div class="section" id="the-travelling-salesman-problem">
|
||||
<span id="tsp-tsp"></span><h1>9.3. The travelling Salesman Problem</h1>
|
||||
<div class="section" id="what-is-the-travelling-salesman-problem">
|
||||
<h2>9.3.1. What is the Travelling Salesman Problem?</h2>
|
||||
<div class="section" id="id1">
|
||||
<h2>9.3.1. The Travelling Salesman Problem</h2>
|
||||
</div>
|
||||
<div class="section" id="benchmark-data">
|
||||
<h2>9.3.2. Benchmark data</h2>
|
||||
<div class="section" id="the-tsplib-format">
|
||||
<h3>9.3.2.1. The TSPLIB format</h3>
|
||||
<div class="section" id="the-instance-file">
|
||||
<h4>9.3.2.1.1. The instance file</h4>
|
||||
</div>
|
||||
<div class="section" id="the-solution-file">
|
||||
<h4>9.3.2.1.2. The solution file</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="the-tspdata-class">
|
||||
<h2>9.3.3. The <tt class="docutils literal"><span class="pre">TSPData</span></tt> class</h2>
|
||||
</div>
|
||||
<div class="section" id="visualization-with-epix">
|
||||
<h2>9.3.4. Visualization with <tt class="docutils literal"><span class="pre">ePix</span></tt></h2>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
</div>
|
||||
@@ -138,14 +156,24 @@ Search:
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="routing_library.html"
|
||||
title="previous chapter">9.2. The Vehicle Routing Library (VRL) in a nutshell</a></p>
|
||||
title="previous chapter">9.2. The Routing Library (RL) in a nutshell</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="automatic_variables.html"
|
||||
title="next chapter">9.4. Automatic variables</a></p>
|
||||
<p class="topless"><a href="model_behind_scene.html"
|
||||
title="next chapter">9.4. The model behind the scene</a></p>
|
||||
<h3>Current section</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">9.3. The travelling Salesman Problem</a><ul>
|
||||
<li><a class="reference internal" href="#what-is-the-travelling-salesman-problem">9.3.1. What is the Travelling Salesman Problem?</a></li>
|
||||
<li><a class="reference internal" href="#id1">9.3.1. The Travelling Salesman Problem</a></li>
|
||||
<li><a class="reference internal" href="#benchmark-data">9.3.2. Benchmark data</a><ul>
|
||||
<li><a class="reference internal" href="#the-tsplib-format">9.3.2.1. The TSPLIB format</a><ul>
|
||||
<li><a class="reference internal" href="#the-instance-file">9.3.2.1.1. The instance file</a></li>
|
||||
<li><a class="reference internal" href="#the-solution-file">9.3.2.1.2. The solution file</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#the-tspdata-class">9.3.3. The <tt class="docutils literal"><span class="pre">TSPData</span></tt> class</a></li>
|
||||
<li><a class="reference internal" href="#visualization-with-epix">9.3.4. Visualization with <tt class="docutils literal"><span class="pre">ePix</span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -161,10 +189,10 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="automatic_variables.html" title="9.4. Automatic variables"
|
||||
<a href="model_behind_scene.html" title="9.4. The model behind the scene"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="routing_library.html" title="9.2. The Vehicle Routing Library (VRL) in a nutshell"
|
||||
<a href="routing_library.html" title="9.2. The Routing Library (RL) in a nutshell"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.7. The Travelling Salesman Problem with Time Windows (TSPTW) — or-tools User's Manual</title>
|
||||
<title>9.8. The Travelling Salesman Problem with Time Windows (TSPTW) — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -28,8 +28,8 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.8. An exact implementation of the TSPTW" href="second_implementation.html" />
|
||||
<link rel="prev" title="9.6. The two phases approach" href="two_phases_approaches.html" />
|
||||
<link rel="next" title="9.9. The TSPTW in or-tools" href="first_tsptw_implementation.html" />
|
||||
<link rel="prev" title="9.7. An exact implementation of the TSP" href="exact_tsp_implementation.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -39,10 +39,10 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="second_implementation.html" title="9.8. An exact implementation of the TSPTW"
|
||||
<a href="first_tsptw_implementation.html" title="9.9. The TSPTW in or-tools"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="two_phases_approaches.html" title="9.6. The two phases approach"
|
||||
<a href="exact_tsp_implementation.html" title="9.7. An exact implementation of the TSP"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -55,9 +55,27 @@
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="the-travelling-salesman-problem-with-time-windows-tsptw">
|
||||
<span id="tspwtw"></span><h1>9.7. The Travelling Salesman Problem with Time Windows (TSPTW)</h1>
|
||||
<span id="tspwtw"></span><h1>9.8. The Travelling Salesman Problem with Time Windows (TSPTW)</h1>
|
||||
<div class="section" id="the-travelling-salesman-problem-with-time-windows">
|
||||
<h2>9.8.1. The Travelling Salesman Problem with Time Windows</h2>
|
||||
</div>
|
||||
<div class="section" id="benchmark-data">
|
||||
<h2>9.8.2. Benchmark data</h2>
|
||||
<div class="section" id="the-lopez-ibanez-blum-format">
|
||||
<h3>9.8.2.1. The López-Ibáñez-Blum format</h3>
|
||||
</div>
|
||||
<div class="section" id="the-da-silva-urrutia-format">
|
||||
<h3>9.8.2.2. The da Silva-Urrutia format</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="the-tsptwdata-class">
|
||||
<h2>9.8.3. The <tt class="docutils literal"><span class="pre">TSPTWData</span></tt> class</h2>
|
||||
</div>
|
||||
<div class="section" id="visualization-with-epix">
|
||||
<h2>9.8.4. Visualization with <tt class="docutils literal"><span class="pre">ePix</span></tt></h2>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
@@ -134,11 +152,26 @@ Search:
|
||||
<p class="topless"><a href="../TSP.html"
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="two_phases_approaches.html"
|
||||
title="previous chapter">9.6. The two phases approach</a></p>
|
||||
<p class="topless"><a href="exact_tsp_implementation.html"
|
||||
title="previous chapter">9.7. An exact implementation of the TSP</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="second_implementation.html"
|
||||
title="next chapter">9.8. An exact implementation of the TSPTW</a></p>
|
||||
<p class="topless"><a href="first_tsptw_implementation.html"
|
||||
title="next chapter">9.9. The TSPTW in or-tools</a></p>
|
||||
<h3>Current section</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">9.8. The Travelling Salesman Problem with Time Windows (TSPTW)</a><ul>
|
||||
<li><a class="reference internal" href="#the-travelling-salesman-problem-with-time-windows">9.8.1. The Travelling Salesman Problem with Time Windows</a></li>
|
||||
<li><a class="reference internal" href="#benchmark-data">9.8.2. Benchmark data</a><ul>
|
||||
<li><a class="reference internal" href="#the-lopez-ibanez-blum-format">9.8.2.1. The López-Ibáñez-Blum format</a></li>
|
||||
<li><a class="reference internal" href="#the-da-silva-urrutia-format">9.8.2.2. The da Silva-Urrutia format</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#the-tsptwdata-class">9.8.3. The <tt class="docutils literal"><span class="pre">TSPTWData</span></tt> class</a></li>
|
||||
<li><a class="reference internal" href="#visualization-with-epix">9.8.4. Visualization with <tt class="docutils literal"><span class="pre">ePix</span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
@@ -150,10 +183,10 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="second_implementation.html" title="9.8. An exact implementation of the TSPTW"
|
||||
<a href="first_tsptw_implementation.html" title="9.9. The TSPTW in or-tools"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="two_phases_approaches.html" title="9.6. The two phases approach"
|
||||
<a href="exact_tsp_implementation.html" title="9.7. An exact implementation of the TSP"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -29,7 +29,7 @@
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="10. Vehicule Routing Problems with constraints: the capacitated vehicle routing problem" href="../VRP.html" />
|
||||
<link rel="prev" title="9.9. The TSPTW and Local Search" href="third_implementation.html" />
|
||||
<link rel="prev" title="9.9. The TSPTW in or-tools" href="first_tsptw_implementation.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -42,7 +42,7 @@
|
||||
<a href="../VRP.html" title="10. Vehicule Routing Problems with constraints: the capacitated vehicle routing problem"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="third_implementation.html" title="9.9. The TSPTW and Local Search"
|
||||
<a href="first_tsptw_implementation.html" title="9.9. The TSPTW in or-tools"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -135,8 +135,8 @@ Search:
|
||||
<p class="topless"><a href="../TSP.html"
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="third_implementation.html"
|
||||
title="previous chapter">9.9. The TSPTW and Local Search</a></p>
|
||||
<p class="topless"><a href="first_tsptw_implementation.html"
|
||||
title="previous chapter">9.9. The TSPTW in or-tools</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="../VRP.html"
|
||||
title="next chapter">10. Vehicule Routing Problems with constraints: the capacitated vehicle routing problem</a></p>
|
||||
@@ -154,7 +154,7 @@ Search:
|
||||
<a href="../VRP.html" title="10. Vehicule Routing Problems with constraints: the capacitated vehicle routing problem"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="third_implementation.html" title="9.9. The TSPTW and Local Search"
|
||||
<a href="first_tsptw_implementation.html" title="9.9. The TSPTW in or-tools"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.6. The two phases approach — or-tools User's Manual</title>
|
||||
<title>9.5. The two phases approach — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -28,8 +28,8 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.7. The Travelling Salesman Problem with Time Windows (TSPTW)" href="tspwtw.html" />
|
||||
<link rel="prev" title="9.5. An exact implementation of the TSP" href="first_implementation.html" />
|
||||
<link rel="next" title="9.6. The TSP in or-tools" href="first_tsp_implementation.html" />
|
||||
<link rel="prev" title="9.4. The model behind the scene" href="model_behind_scene.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
@@ -39,10 +39,10 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="tspwtw.html" title="9.7. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
<a href="first_tsp_implementation.html" title="9.6. The TSP in or-tools"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="first_implementation.html" title="9.5. An exact implementation of the TSP"
|
||||
<a href="model_behind_scene.html" title="9.4. The model behind the scene"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" accesskey="U">9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
@@ -55,9 +55,12 @@
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="the-two-phases-approach">
|
||||
<span id="tsp-two-phases-approaches"></span><h1>9.6. The two phases approach</h1>
|
||||
<div class="section" id="local-path-operator">
|
||||
<h2>9.6.1. Local Path Operator</h2>
|
||||
<span id="tsp-two-phases-approaches"></span><h1>9.5. The two phases approach</h1>
|
||||
<div class="section" id="the-initial-solution">
|
||||
<h2>9.5.1. The initial solution</h2>
|
||||
</div>
|
||||
<div class="section" id="local-search-pathoperators">
|
||||
<h2>9.5.2. Local Search <tt class="docutils literal"><span class="pre">PathOperator</span></tt>s</h2>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
|
||||
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
</div>
|
||||
@@ -137,15 +140,16 @@ Search:
|
||||
<p class="topless"><a href="../TSP.html"
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Previous section</h3>
|
||||
<p class="topless"><a href="first_implementation.html"
|
||||
title="previous chapter">9.5. An exact implementation of the TSP</a></p>
|
||||
<p class="topless"><a href="model_behind_scene.html"
|
||||
title="previous chapter">9.4. The model behind the scene</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="tspwtw.html"
|
||||
title="next chapter">9.7. The Travelling Salesman Problem with Time Windows (TSPTW)</a></p>
|
||||
<p class="topless"><a href="first_tsp_implementation.html"
|
||||
title="next chapter">9.6. The TSP in or-tools</a></p>
|
||||
<h3>Current section</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">9.6. The two phases approach</a><ul>
|
||||
<li><a class="reference internal" href="#local-path-operator">9.6.1. Local Path Operator</a></li>
|
||||
<li><a class="reference internal" href="#">9.5. The two phases approach</a><ul>
|
||||
<li><a class="reference internal" href="#the-initial-solution">9.5.1. The initial solution</a></li>
|
||||
<li><a class="reference internal" href="#local-search-pathoperators">9.5.2. Local Search <tt class="docutils literal"><span class="pre">PathOperator</span></tt>s</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -161,10 +165,10 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="tspwtw.html" title="9.7. The Travelling Salesman Problem with Time Windows (TSPTW)"
|
||||
<a href="first_tsp_implementation.html" title="9.6. The TSP in or-tools"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="first_implementation.html" title="9.5. An exact implementation of the TSP"
|
||||
<a href="model_behind_scene.html" title="9.4. The model behind the scene"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../index.html">or-tools User's Manual</a> »</li>
|
||||
<li><a href="../TSP.html" >9. Travelling Salesman Problems with constraints: the TSP with time windows</a> »</li>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>9.1. A whole zoo of routing problems — or-tools User's Manual</title>
|
||||
<title>9.1. A whole zoo of Routing Problems — or-tools User's Manual</title>
|
||||
|
||||
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
@@ -28,7 +28,7 @@
|
||||
<link rel="shortcut icon" href="../../_static/logo.ico"/>
|
||||
<link rel="top" title="or-tools User's Manual" href="../../index.html" />
|
||||
<link rel="up" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
<link rel="next" title="9.2. The Vehicle Routing Library (VRL) in a nutshell" href="routing_library.html" />
|
||||
<link rel="next" title="9.2. The Routing Library (RL) in a nutshell" href="routing_library.html" />
|
||||
<link rel="prev" title="9. Travelling Salesman Problems with constraints: the TSP with time windows" href="../TSP.html" />
|
||||
</head>
|
||||
<body>
|
||||
@@ -39,7 +39,7 @@
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="routing_library.html" title="9.2. The Vehicle Routing Library (VRL) in a nutshell"
|
||||
<a href="routing_library.html" title="9.2. The Routing Library (RL) in a nutshell"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../TSP.html" title="9. Travelling Salesman Problems with constraints: the TSP with time windows"
|
||||
@@ -55,7 +55,7 @@
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="a-whole-zoo-of-routing-problems">
|
||||
<span id="whole-zoo-routing-problems"></span><h1>9.1. A whole zoo of routing problems</h1>
|
||||
<span id="whole-zoo-routing-problems"></span><h1>9.1. A whole zoo of Routing Problems</h1>
|
||||
<div class="section" id="node-routing-problems">
|
||||
<h2>9.1.1. Node Routing Problems</h2>
|
||||
</div>
|
||||
@@ -147,10 +147,10 @@ Search:
|
||||
title="previous chapter">9. Travelling Salesman Problems with constraints: the TSP with time windows</a></p>
|
||||
<h3>Next section</h3>
|
||||
<p class="topless"><a href="routing_library.html"
|
||||
title="next chapter">9.2. The Vehicle Routing Library (VRL) in a nutshell</a></p>
|
||||
title="next chapter">9.2. The Routing Library (RL) in a nutshell</a></p>
|
||||
<h3>Current section</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">9.1. A whole zoo of routing problems</a><ul>
|
||||
<li><a class="reference internal" href="#">9.1. A whole zoo of Routing Problems</a><ul>
|
||||
<li><a class="reference internal" href="#node-routing-problems">9.1.1. Node Routing Problems</a></li>
|
||||
<li><a class="reference internal" href="#vehicle-routing-problems">9.1.2. Vehicle Routing Problems</a></li>
|
||||
<li><a class="reference internal" href="#arc-routing-problems">9.1.3. Arc Routing Problems</a></li>
|
||||
@@ -169,7 +169,7 @@ Search:
|
||||
<a href="../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="routing_library.html" title="9.2. The Vehicle Routing Library (VRL) in a nutshell"
|
||||
<a href="routing_library.html" title="9.2. The Routing Library (RL) in a nutshell"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../TSP.html" title="9. Travelling Salesman Problems with constraints: the TSP with time windows"
|
||||
|
||||
Reference in New Issue
Block a user