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

+ +
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.

DEMO

docs.timefold.ai

- - -
-
-

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