Skip to content

Commit 80d9575

Browse files
committed
update intro
1 parent e71b8fc commit 80d9575

File tree

2 files changed

+74
-76
lines changed

2 files changed

+74
-76
lines changed

technician_routing_scheduling/technician_routing_scheduling.html

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13123,8 +13123,8 @@ <h1 id="Technician-Routing-and-Scheduling-Problem">Technician Routing and Schedu
1312313123
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
1312413124
</div><div class="inner_cell">
1312513125
<div class="text_cell_render border-box-sizing rendered_html">
13126-
<h2 id="Objective-and-Prerequisites">Objective and Prerequisites<a class="anchor-link" href="#Objective-and-Prerequisites">&#182;</a></h2><p>In this Jupyter Notebook, you will learn how to formulate a multi-depot vehicle routing problem with time windows constraints using the Gurobi Python API. To fully understand the content of this notebook, the reader should be familiar with object-oriented-programming.</p>
13127-
<p>This modeling example is at the intermediate level, where we assume that you know Python and are familiar with the Gurobi Python API. In addition, you have some knowledge about building mathematical optimization models.</p>
13126+
<h2 id="Objective-and-Prerequisites">Objective and Prerequisites<a class="anchor-link" href="#Objective-and-Prerequisites">&#182;</a></h2><p>Try this modeling example to discover how mathematical optimization can help telecommunications firms automate and improve their technician assignment, scheduling, and routing decisions in order to ensure the highest levels of customer satisfaction.</p>
13127+
<p>This modeling example is at the intermediate level, where we assume that you know Python and are familiar with the Gurobi Python API. In addition, you have some knowledge about building mathematical optimization models. To fully understand the content of this notebook, you should be familiar with object-oriented-programming.</p>
1312813128
<p><strong>Download the Repository</strong> <br />
1312913129
You can download the repository containing this and other examples by clicking <a href="https://github.com/Gurobi/modeling-examples/archive/master.zip">here</a>.</p>
1313013130
<p><strong>Gurobi License</strong> <br />
@@ -14098,14 +14098,13 @@ <h2 id="Base-Scenario">Base Scenario<a class="anchor-link" href="#Base-Scenario"
1409814098
***************************
1409914099

1410014100
Using license file c:\gurobi\gurobi.lic
14101-
Set parameter TokenServer to value SANTOS-SURFACE-
14102-
Warning: variable name &#34;y[Offenburg,Freiburg im Breisgau,Albert]&#34; has a space
14101+
Warning: variable name &#34;y[Loerrach,Freiburg im Breisgau,Albert]&#34; has a space
1410314102
Warning: constraint name &#34;tempoDepot[Freiburg im Breisgau,Customer1]&#34; has a space
1410414103
Warning: to let Gurobi read it back, use rlp format
1410514104
Gurobi Optimizer version 9.1.0 build v9.1.0rc0 (win64)
1410614105
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
1410714106
Optimize a model with 217 rows, 660 columns and 2329 nonzeros
14108-
Model fingerprint: 0x5802d250
14107+
Model fingerprint: 0x0f3b53fc
1410914108
Variable types: 30 continuous, 630 integer (630 binary)
1411014109
Coefficient statistics:
1411114110
Matrix range [1e+00, 8e+02]
@@ -14114,50 +14113,50 @@ <h2 id="Base-Scenario">Base Scenario<a class="anchor-link" href="#Base-Scenario"
1411414113
RHS range [1e+00, 6e+02]
1411514114
Found heuristic solution: objective 245830.00000
1411614115
Presolve removed 28 rows and 188 columns
14117-
Presolve time: 0.03s
14118-
Presolved: 189 rows, 472 columns, 2130 nonzeros
14116+
Presolve time: 0.04s
14117+
Presolved: 189 rows, 472 columns, 2116 nonzeros
1411914118
Variable types: 26 continuous, 446 integer (446 binary)
1412014119

14121-
Root relaxation: objective 0.000000e+00, 142 iterations, 0.00 seconds
14120+
Root relaxation: objective 0.000000e+00, 141 iterations, 0.00 seconds
1412214121

1412314122
Nodes | Current Node | Objective Bounds | Work
1412414123
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
1412514124

1412614125
H 0 0 0.0000000 -256200.00 - - 0s
1412714126
0 0 - 0 0.00000 0.00000 0.00% - 0s
1412814127

14129-
Explored 0 nodes (384 simplex iterations) in 0.08 seconds
14128+
Explored 0 nodes (308 simplex iterations) in 0.09 seconds
1413014129
Thread count was 8 (of 8 available processors)
1413114130

1413214131
Solution count 2: 0 245830
1413314132

1413414133
Optimal solution found (tolerance 1.00e-04)
1413514134
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
1413614135

14137-
Bob assigned to Customer1 (Equipment Setup) in Mannheim. Start at t=24.00.
14138-
Doris assigned to Customer2 (Equipment Setup) in Karlsruhe. Start at t=150.00.
14136+
Bob assigned to Customer1 (Equipment Setup) in Mannheim. Start at t=30.00.
14137+
Doris assigned to Customer2 (Equipment Setup) in Karlsruhe. Start at t=113.00.
1413914138
Gina assigned to Customer3 (Repair - Regular) in Baden-Baden. Start at t=67.00.
1414014139
Gina assigned to Customer4 (Equipment Installation) in Buehl. Start at t=143.00.
14141-
Flor assigned to Customer5 (Equipment Installation) in Offenburg. Start at t=360.00.
14142-
Doris assigned to Customer6 (Repair - Critical) in Lahr/Schwarzwald. Start at t=300.00.
14143-
Carlos assigned to Customer7 (Inspect/Service Equipment) in Loerrach. Start at t=360.00.
14140+
Doris assigned to Customer5 (Equipment Installation) in Offenburg. Start at t=240.00.
14141+
Doris assigned to Customer6 (Repair - Critical) in Lahr/Schwarzwald. Start at t=326.00.
14142+
Ed assigned to Customer7 (Inspect/Service Equipment) in Loerrach. Start at t=480.00.
1414414143

1414514144
Albert is not used
14146-
Bob&#39;s route: Heidelberg -&gt; Mannheim (dist=24.0, t=24.00, proc=30.0) -&gt; Heidelberg (dist=24.0)
14147-
Carlos&#39;s route: Freiburg im Breisgau -&gt; Loerrach (dist=48.0, t=360.00, proc=60.0) -&gt; Freiburg im Breisgau (dist=48.0)
14148-
Doris&#39;s route: Freiburg im Breisgau -&gt; Karlsruhe (dist=85.0, t=150.00, proc=30.0) -&gt; Lahr/Schwarzwald (dist=61.0, t=300.00, proc=60.0) -&gt; Freiburg im Breisgau (dist=39.0)
14149-
Ed is not used
14150-
Flor&#39;s route: Freiburg im Breisgau -&gt; Offenburg (dist=45.0, t=360.00, proc=60.0) -&gt; Freiburg im Breisgau (dist=45.0)
14145+
Bob&#39;s route: Heidelberg -&gt; Mannheim (dist=24.0, t=30.00, proc=30.0) -&gt; Heidelberg (dist=24.0)
14146+
Carlos is not used
14147+
Doris&#39;s route: Freiburg im Breisgau -&gt; Karlsruhe (dist=85.0, t=113.00, proc=30.0) -&gt; Offenburg (dist=51.0, t=240.00, proc=60.0) -&gt; Lahr/Schwarzwald (dist=26.0, t=326.00, proc=60.0) -&gt; Freiburg im Breisgau (dist=39.0)
14148+
Ed&#39;s route: Heidelberg -&gt; Loerrach (dist=150.0, t=480.00, proc=60.0) -&gt; Heidelberg (dist=150.0)
14149+
Flor is not used
1415114150
Gina&#39;s route: Heidelberg -&gt; Baden-Baden (dist=67.0, t=67.00, proc=60.0) -&gt; Buehl (dist=16.0, t=143.00, proc=60.0) -&gt; Heidelberg (dist=71.0)
1415214151

1415314152
Albert&#39;s utilization is 0.00% (0.00/480.00)
1415414153
Bob&#39;s utilization is 16.25% (78.00/480.00)
14155-
Carlos&#39;s utilization is 32.50% (156.00/480.00)
14156-
Doris&#39;s utilization is 57.29% (275.00/480.00)
14157-
Ed&#39;s utilization is 0.00% (0.00/480.00)
14158-
Flor&#39;s utilization is 41.67% (150.00/360.00)
14154+
Carlos&#39;s utilization is 0.00% (0.00/480.00)
14155+
Doris&#39;s utilization is 73.12% (351.00/480.00)
14156+
Ed&#39;s utilization is 75.00% (360.00/480.00)
14157+
Flor&#39;s utilization is 0.00% (0.00/360.00)
1415914158
Gina&#39;s utilization is 76.11% (274.00/360.00)
14160-
Total technician utilization is 29.90% (933.00/3120.00)
14159+
Total technician utilization is 34.07% (1063.00/3120.00)
1416114160
</pre>
1416214161
</div>
1416314162
</div>
@@ -14302,13 +14301,13 @@ <h2 id="Scenario-1">Scenario 1<a class="anchor-link" href="#Scenario-1">&#182;</
1430214301
Solving scenario 1 model
1430314302
************************
1430414303

14305-
Warning: variable name &#34;y[Offenburg,Freiburg im Breisgau,Albert]&#34; has a space
14304+
Warning: variable name &#34;y[Loerrach,Freiburg im Breisgau,Albert]&#34; has a space
1430614305
Warning: constraint name &#34;tempoDepot[Freiburg im Breisgau,Customer1]&#34; has a space
1430714306
Warning: to let Gurobi read it back, use rlp format
1430814307
Gurobi Optimizer version 9.1.0 build v9.1.0rc0 (win64)
1430914308
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
1431014309
Optimize a model with 217 rows, 660 columns and 2329 nonzeros
14311-
Model fingerprint: 0xb47b64dd
14310+
Model fingerprint: 0x58dea2f1
1431214311
Variable types: 30 continuous, 630 integer (630 binary)
1431314312
Coefficient statistics:
1431414313
Matrix range [1e+00, 8e+02]
@@ -14322,45 +14321,45 @@ <h2 id="Scenario-1">Scenario 1<a class="anchor-link" href="#Scenario-1">&#182;</
1432214321
Found heuristic solution: objective 24610.000000
1432314322
Variable types: 15 continuous, 52 integer (52 binary)
1432414323

14325-
Root relaxation: objective 8.214242e+03, 19 iterations, 0.00 seconds
14324+
Root relaxation: objective 8.214242e+03, 16 iterations, 0.00 seconds
1432614325

1432714326
Nodes | Current Node | Objective Bounds | Work
1432814327
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
1432914328

1433014329
* 0 0 0 12410.000000 12410.0000 0.00% - 0s
1433114330

14332-
Explored 0 nodes (20 simplex iterations) in 0.04 seconds
14331+
Explored 0 nodes (17 simplex iterations) in 0.04 seconds
1433314332
Thread count was 8 (of 8 available processors)
1433414333

1433514334
Solution count 3: 12410 24610 216670
1433614335

1433714336
Optimal solution found (tolerance 1.00e-04)
1433814337
Best objective 1.241000000000e+04, best bound 1.241000000000e+04, gap 0.0000%
1433914338

14340-
Albert assigned to Customer1 (Equipment Setup) in Mannheim. Start at t=24.00.
14341-
Albert assigned to Customer2 (Equipment Setup) in Karlsruhe. Start at t=107.00.
14342-
Bob assigned to Customer3 (Repair - Regular) in Baden-Baden. Start at t=67.00.
14339+
Gina assigned to Customer1 (Equipment Setup) in Mannheim. Start at t=24.00.
14340+
Bob assigned to Customer2 (Equipment Setup) in Karlsruhe. Start at t=50.00.
14341+
Bob assigned to Customer3 (Repair - Regular) in Baden-Baden. Start at t=111.00.
1434314342
Nobody assigned to Customer4 (Equipment Installation) in Buehl
1434414343
Flor assigned to Customer5 (Equipment Installation) in Offenburg. Start at t=45.00. 105.00 minutes late.
1434514344
Doris assigned to Customer6 (Repair - Critical) in Lahr/Schwarzwald. Start at t=300.00.
1434614345
Carlos assigned to Customer7 (Inspect/Service Equipment) in Loerrach. Start at t=480.00.
1434714346

14348-
Albert&#39;s route: Heidelberg -&gt; Mannheim (dist=24.0, t=24.00, proc=30.0) -&gt; Karlsruhe (dist=53.0, t=107.00, proc=30.0) -&gt; Heidelberg (dist=50.0)
14349-
Bob&#39;s route: Heidelberg -&gt; Baden-Baden (dist=67.0, t=67.00, proc=60.0) -&gt; Heidelberg (dist=67.0)
14347+
Albert is not used
14348+
Bob&#39;s route: Heidelberg -&gt; Karlsruhe (dist=50.0, t=50.00, proc=30.0) -&gt; Baden-Baden (dist=31.0, t=111.00, proc=60.0) -&gt; Heidelberg (dist=67.0)
1435014349
Carlos&#39;s route: Freiburg im Breisgau -&gt; Loerrach (dist=48.0, t=480.00, proc=60.0) -&gt; Freiburg im Breisgau (dist=48.0)
1435114350
Doris&#39;s route: Freiburg im Breisgau -&gt; Lahr/Schwarzwald (dist=39.0, t=300.00, proc=60.0) -&gt; Freiburg im Breisgau (dist=39.0)
1435214351
Ed is not used
1435314352
Flor&#39;s route: Freiburg im Breisgau -&gt; Offenburg (dist=45.0, t=45.00, proc=60.0) -&gt; Freiburg im Breisgau (dist=45.0)
14354-
Gina is not used
14353+
Gina&#39;s route: Heidelberg -&gt; Mannheim (dist=24.0, t=24.00, proc=30.0) -&gt; Heidelberg (dist=24.0)
1435514354

14356-
Albert&#39;s utilization is 77.92% (187.00/240.00)
14357-
Bob&#39;s utilization is 80.83% (194.00/240.00)
14355+
Albert&#39;s utilization is 0.00% (0.00/240.00)
14356+
Bob&#39;s utilization is 99.17% (238.00/240.00)
1435814357
Carlos&#39;s utilization is 65.00% (156.00/240.00)
1435914358
Doris&#39;s utilization is 57.50% (138.00/240.00)
1436014359
Ed&#39;s utilization is 0.00% (0.00/240.00)
1436114360
Flor&#39;s utilization is 83.33% (150.00/180.00)
14362-
Gina&#39;s utilization is 0.00% (0.00/180.00)
14363-
Total technician utilization is 52.88% (825.00/1560.00)
14361+
Gina&#39;s utilization is 43.33% (78.00/180.00)
14362+
Total technician utilization is 48.72% (760.00/1560.00)
1436414363
</pre>
1436514364
</div>
1436614365
</div>

0 commit comments

Comments
 (0)