diff --git a/events/2025-01-31-Timefold_for_Operations_Research.html b/events/2025-01-31-Timefold_for_Operations_Research.html
index a362d36..69f3ade 100644
--- a/events/2025-01-31-Timefold_for_Operations_Research.html
+++ b/events/2025-01-31-Timefold_for_Operations_Research.html
@@ -232,7 +232,6 @@
Timefold Solver
-
@@ -378,33 +377,40 @@ Incremental calculation
If it isn't tested,
it doesn't work.
-
- If it isn't tested,
it doesn't work.
-
- If it isn't documented,
it isn't used.
+ Unit testing
+
+ - Given:
+
+ - Ann at least 10 hours rest
+ - Shift Monday 14:00-22:00 = Ann
+ - Shift Tuesday 06:00-14:00 = Ann
+
+
+ - Expected: penalty
+
+ pythonann = Employee(name="Ann", ...)
+
+(v.verify_that(employee_minimal_rest)
+ .given(ann,
+ Shift(start=..., end=..., employee=ann),
+ Shift(start=..., end=..., employee=ann))
+ .penalizes())
+
+ Isolated per constraint
+
+
+ If it isn't documented,
it isn't used.
-
-
-
-
- Field Service Routing
-
🖊 Model domain
⚖️ Define constraints
🚀 Run!
-
- Ready to Optimize!
- 🖊 Model domain
- ⚖️ Define tune constraints
- 🚀 Run!
-
@@ -477,6 +483,13 @@ Employee
Shift Scheduling
We call it ...
PlanningAI
+
+ Deliver faster
+ 🖊 Model domain
+ ⚖️ Define tune constraints
+ 🚀 Run!
+
+
diff --git a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.png b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.png
index 166503e..d0e1547 100644
Binary files a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.png and b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.png differ
diff --git a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.svg b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.svg
index dde90a3..451000d 100644
--- a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.svg
+++ b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps.svg
@@ -6,11 +6,11 @@
height="600"
id="svg2"
version="1.1"
- inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+ inkscape:version="1.3.2 (091e20e, 2023-11-25)"
sodipodi:docname="integrationWithRealMaps.svg"
inkscape:export-filename="integrationWithRealMaps.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
@@ -978,7 +978,7 @@
inkscape:cx="399.6063"
inkscape:cy="300"
inkscape:document-units="px"
- inkscape:current-layer="layer3"
+ inkscape:current-layer="layer2"
showgrid="true"
width="800px"
borderlayer="true"
@@ -1004,7 +1004,8 @@
inkscape:snap-bbox-midpoints="false"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
- inkscape:deskcolor="#d1d1d1">
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:export-bgcolor="#ffffffff">
+ originy="0"
+ units="px" />
@@ -1065,7 +1067,7 @@
y="150.00014"
style="font-size:14px;text-align:center;text-anchor:middle" />Google Maps or GraphHopper (OpenStreetMap) calculate distances, Timefold optimizes the trips.
+ style="font-size:14px;line-height:1.25">The internal or external maps provider calculate distances, Timefold optimizes the trips.
@@ -4051,70 +4053,34 @@
style="display:inline"
transform="translate(4.9999999,-702.36222)"
id="g9575">
-
- GraphHopperREST or local
- or
-
- Google MapsREST Client
+
+
+ Maps
+
Render in browser
-
- Leaflet.jsJavaScript
- or
+ id="g2"
+ transform="translate(0,39.786015)">
Google MapsJavaScript Waypoints
diff --git a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_0.png b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_0.png
index 7f2c3e5..339684a 100644
Binary files a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_0.png and b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_0.png differ
diff --git a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_1.png b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_1.png
index 1d4dbd3..7725278 100644
Binary files a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_1.png and b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_1.png differ
diff --git a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_2.png b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_2.png
index 3b44c8c..721adb5 100644
Binary files a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_2.png and b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_2.png differ
diff --git a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_3.png b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_3.png
index 5989106..d0e1547 100644
Binary files a/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_3.png and b/src/content/timefold-solver-docs/use-cases-and-examples/vehicle-routing/integrationWithRealMaps_3.png differ