diff --git a/documentation/changes_list.txt b/documentation/changes_list.txt index 151950779b..e1ed90e8cd 100644 --- a/documentation/changes_list.txt +++ b/documentation/changes_list.txt @@ -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: diff --git a/documentation/documentation_hub.html b/documentation/documentation_hub.html index 4d144a5967..03972ad448 100644 --- a/documentation/documentation_hub.html +++ b/documentation/documentation_hub.html @@ -73,12 +73,14 @@ Thank you very much.

What's new?


Here is a little summary:

-
v.0.1.12: (2012-08-31 14:01:23)
+
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.
 
 
@@ -101,9 +103,9 @@ We also recommend to use the epub version as it is currently the best available

Progress at a glance:

@@ -210,8 +212,8 @@ The following percentages show you the completion status of the manual. Note tha Chap9: TSP with constraints
-
- 7% +
+ 34%
@@ -230,8 +232,8 @@ The following percentages show you the completion status of the manual. Note tha Chap11: ARP with constraints
-
- 0% +
+ 2%
@@ -360,8 +362,8 @@ The following percentages show you the completion status of the manual. Note tha Manual
-
- 85% +
+ 87%
@@ -517,6 +519,20 @@ files in some languages as the features implemented just don't have an equivalen
chap3:
golomb1.cc   |   golomb2.cc   |   golomb3.cc   |   golomb4.cc   |   golomb5.cc   |   golomb6.cc
+
chap4:
-
+
chap5:
-
+
chap6:
-
+
chap7:
-
+
chap8:
-
+
chap9:
tsp.h   |   tsp_epix.h   |   + tsplib_solution_to_epix.cc   |   tsp.cc   + |   tsp_forbidden_arcs.cc   |   tsp_exact.cc +   |   tsptw.h   |   tsptw_epix.h +   |   tsptw.cc   |   tsptw_ls.cc
+
chap10:
-
+
chap11:
-
+
chap12:
-
+
chap13:
-
  • Python
  • @@ -524,7 +540,17 @@ files in some languages as the features implemented just don't have an equivalen
    all:
    tutorial_python_examples.zip
    chap2:
    cp_is_fun1.py   |   cp_is_fun2.py   |   cp_is_fun3.py   |   cp_is_fun4.py
    -
    chap3:
    +
    chap3:
    -
    +
    chap4:
    -
    +
    chap5:
    -
    +
    chap6:
    -
    +
    chap7:
    -
    +
    chap8:
    -
    +
    chap9:
    -
    +
    chap10:
    -
    +
    chap11:
    -
    +
    chap12:
    -
    +
    chap13:
    -
  • Java
  • @@ -532,7 +558,17 @@ files in some languages as the features implemented just don't have an equivalen
    all:
    tutorial_java_examples.zip
    chap2:
    CpIsFun1.java   |   CpIsFun2.java   |   CpIsFun3.java   |   CpIsFun4.java
    -
    chap3:
    +
    chap3:
    -
    +
    chap4:
    -
    +
    chap5:
    -
    +
    chap6:
    -
    +
    chap7:
    -
    +
    chap8:
    -
    +
    chap9:
    -
    +
    chap10:
    -
    +
    chap11:
    -
    +
    chap12:
    -
    +
    chap13:
    -
  • C#
  • @@ -540,7 +576,17 @@ files in some languages as the features implemented just don't have an equivalen
    all:
    tutorial_csharp_examples.zip
    chap2:
    cp_is_fun1.cs   |   cp_is_fun2.cs   |   cp_is_fun3.cs   |   cp_is_fun4.cs
    -
    chap3:
    +
    chap3:
    -
    +
    chap4:
    -
    +
    chap5:
    -
    +
    chap6:
    -
    +
    chap7:
    -
    +
    chap8:
    -
    +
    chap9:
    -
    +
    chap10:
    -
    +
    chap11:
    -
    +
    chap12:
    -
    +
    chap13:
    -
    diff --git a/documentation/user_manual/_images/math/6e706c7be892b58ea1c3ab147eaae242299cf3da.png b/documentation/user_manual/_images/math/6e706c7be892b58ea1c3ab147eaae242299cf3da.png new file mode 100644 index 0000000000..a9bced08aa Binary files /dev/null and b/documentation/user_manual/_images/math/6e706c7be892b58ea1c3ab147eaae242299cf3da.png differ diff --git a/documentation/user_manual/_images/math/b70ec1f605bd05af0f0f71e2631ec6f09d63890d.png b/documentation/user_manual/_images/math/b70ec1f605bd05af0f0f71e2631ec6f09d63890d.png new file mode 100644 index 0000000000..dcb450d468 Binary files /dev/null and b/documentation/user_manual/_images/math/b70ec1f605bd05af0f0f71e2631ec6f09d63890d.png differ diff --git a/documentation/user_manual/_images/math/fa2fa899f0afb05d6837885523503a2d4df434f9.png b/documentation/user_manual/_images/math/fa2fa899f0afb05d6837885523503a2d4df434f9.png new file mode 100644 index 0000000000..7b429673a4 Binary files /dev/null and b/documentation/user_manual/_images/math/fa2fa899f0afb05d6837885523503a2d4df434f9.png differ diff --git a/documentation/user_manual/manual/TSP.html b/documentation/user_manual/manual/TSP.html index 3a19dd0f96..d48bb7e4d5 100644 --- a/documentation/user_manual/manual/TSP.html +++ b/documentation/user_manual/manual/TSP.html @@ -27,7 +27,7 @@ - + @@ -38,7 +38,7 @@ index
  • - next |
  • 9. Travelling Salesman Problems with constraints: the TSP with time windows

    +

    The third part of this manual deals with Routing Problems: we have a graph[1] 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[2] (time, goods delivered, etc.) and respecting +certain constraints (number of vehicles, fixed depots, capacities, clients to serve, time windows, etc.).

    + + + + + +
    [1]A graph G=(V,E) is a set of vertices (the set V) connected by edges +(the set E). A directed edge is called an arc. When we have capacities on the edges, we talk +about a network.
    + + + + + +
    [2]The transportation metaphor is helpful to visualize the problems but the class +of Routing Problems is much broader. The Transportation Problem for instance is really an Assignment Problem. +Networks can be of any type: telephone networks (circuit switching), electronic data +networks (such as the internet), etc.
    +

    To solve these problems, the or-tools offers a dedicated Constraint Programming sub-library: +the Routing Library (RL).

    +

    The next three chapters each deal with one of three broad categories of Routing Problems:

    + +

    These three categories of problems share common properties but they all have their +own paradigms and scientific communities.

    +

    In this chapter, we’ll discover the RL with what is probably the most studied problem in Operations Research: +the Travelling Salesman Problem (TSP)[3]. The best algorithms can now routinely +solve TSP instances with then thousands of nodes to optimality[4].

    +

    These problems are out of scope of the Constraint Programming paradigm[5]. CP shines when +you consider complicated side constraints like the addition of time windows: each customer (represented by a node) +has to be visited inside a given time interval.

    + + + + + +
    [3]We use the Canadian (and British) spelling of the verb travelling but you’ll find much more +scientific articles under the American spelling: traveling.
    + + + + + +
    [4]The record at the time of writing is the pla85900 instance in Gerd Reinelt’s +TSPLIB. This instance is a VLSI application +with 85 900 nodes. For many other instances with millions of nodes, solutions can be found that are +guaranteed to be within 1% of an optimal tour!
    + + + + + +
    [5]At least for now and if you try to solve them to optimality.
    +

    Overview:

    +

    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.

    +

    Prerequisites:

    + +

    Files:

    +

    You can find the code in the directory documentation/tutorials/C++/chap9.

    +

    We use the excellent C++[6] ePiX library +to visualize TSP solutions in TSPLIB format and TSPTW solutions in López-Ibáñez-Blum and da Silva-Urrutia formats.

    + + + + + +
    [6]The ePiX library uses the \text{\TeX/\LaTeX} engine to create beautiful graphics.
    +

    The files inside this directory are:

    +
      +
    • tsp.h: This file contains the TSPData class that records the data for the TSP. +This file is used throughout the TSP examples.
    • +
    • tsp_epix.h: This file provide the helper functions to visualize TSPLIB solutions with the ePiX library.
    • +
    • tsplib_solution_to_epix.cc: A simple program to visualize solutions in TSPLIB format with the ePiX library.
    • +
    • tsp.cc: A basic implementation of the TSP with the RL.
    • +
    • tsp_forbidden_arcs.cc: The TSP with forbidden connexions between some nodes.
    • +
    • tsp_exact.cc: A basic exact implementation of the TSP with the RL.
    • +
    • tsptw.h: This file contains the TSPTWData class that records the data for the Travelling Salesman Problem with +Time Windows. This file is used throughout the TSPTW examples.
    • +
    • tsptw_epix.h: This file provide the helper functions to visualize TSPTW solutions with the ePiX library.
    • +
    • tsptw.cc: A basic implementation of the TSPTW with the RL.
    • +
    • tsptw_ls.cc: A specialized implementation of the TSPTW with the RL.
    • +
    +

    Content:

    -


























    -


























  • +
    @@ -205,7 +325,7 @@ Search: index
  • - next |
  • 5.7. Default search
  • -
  • 5.8. Breaking symmetries with SymmetryBreakers