[{"data":1,"prerenderedAt":627},["ShallowReactive",2],{"navigation":3,"portal-navigation":560,"\u002Fdocs\u002Fgetting-started\u002Ftutorials":586,"\u002Fdocs\u002Fgetting-started\u002Ftutorials-surround":625},[4,73,514],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fdocs\u002Fgetting-started","1.docs\u002F0.getting-started",[10,19,48],{"title":11,"icon":6,"path":12,"stem":13,"children":14,"page":6},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fhome","1.docs\u002F0.getting-started\u002F0.home",[15],{"title":11,"path":16,"stem":17,"icon":18},"\u002Fdocs\u002Fgetting-started\u002Fhome\u002Fintroduction","1.docs\u002F0.getting-started\u002F0.home\u002Fintroduction","i-lucide-home",{"title":20,"icon":6,"path":21,"stem":22,"children":23,"page":6},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","1.docs\u002F0.getting-started\u002F1.quickstart",[24,28,33,38,43],{"title":5,"path":25,"stem":26,"icon":27},"\u002Fdocs\u002Fgetting-started\u002Fquickstart\u002Fgetting_started","1.docs\u002F0.getting-started\u002F1.quickstart\u002F0.getting_started","i-lucide-rocket",{"title":29,"path":30,"stem":31,"icon":32},"Quickstart Sandboxes","\u002Fdocs\u002Fgetting-started\u002Fquickstart\u002Fjopt_sandboxes_quickstart","1.docs\u002F0.getting-started\u002F1.quickstart\u002F1.jopt_sandboxes_quickstart","i-lucide-codesandbox",{"title":34,"path":35,"stem":36,"icon":37},"Angular Demo Client","\u002Fdocs\u002Fgetting-started\u002Fquickstart\u002Fangular_demo_client_short","1.docs\u002F0.getting-started\u002F1.quickstart\u002F2.angular_demo_client_short","i-lucide-monitor",{"title":39,"path":40,"stem":41,"icon":42},"JOpt AI Assistant (GPT)","\u002Fdocs\u002Fgetting-started\u002Fquickstart\u002Fjopt-ai-assistant","1.docs\u002F0.getting-started\u002F1.quickstart\u002F3. jopt-ai-assistant","i-lucide-bot",{"title":44,"path":45,"stem":46,"icon":47},"Frequently Asked Questions (FAQ)","\u002Fdocs\u002Fgetting-started\u002Fquickstart\u002Ffaq","1.docs\u002F0.getting-started\u002F1.quickstart\u002FFAQ","i-lucide-table-of-contents",{"title":49,"icon":6,"path":50,"stem":51,"children":52,"page":6},"Basic Tutorials","\u002Fdocs\u002Fgetting-started\u002Ftutorials","1.docs\u002F0.getting-started\u002F2.tutorials",[53,58,63,68],{"title":54,"path":55,"stem":56,"icon":57},"Basic elements","\u002Fdocs\u002Fgetting-started\u002Ftutorials\u002Fbasic-elements","1.docs\u002F0.getting-started\u002F2.tutorials\u002F0.basic-elements","i-lucide-component",{"title":59,"path":60,"stem":61,"icon":62},"First Optimization","\u002Fdocs\u002Fgetting-started\u002Ftutorials\u002Ffirst-optimization","1.docs\u002F0.getting-started\u002F2.tutorials\u002F1.first-optimization","i-lucide-footprints",{"title":64,"path":65,"stem":66,"icon":67},"Nodes","\u002Fdocs\u002Fgetting-started\u002Ftutorials\u002Fnodes","1.docs\u002F0.getting-started\u002F2.tutorials\u002FNodes","i-lucide-map-pin",{"title":69,"path":70,"stem":71,"icon":72},"Resources","\u002Fdocs\u002Fgetting-started\u002Ftutorials\u002Fresources","1.docs\u002F0.getting-started\u002F2.tutorials\u002FResources","i-lucide-truck",{"title":74,"icon":6,"path":75,"stem":76,"children":77,"page":6},"Learn & Explore","\u002Fdocs\u002Flearn-and-explore","1.docs\u002F1.learn-and-explore",[78,92,215,225,245,291,428,497],{"title":79,"icon":6,"path":80,"stem":81,"children":82,"page":6},"Features Overview","\u002Fdocs\u002Flearn-and-explore\u002Ffeatures","1.docs\u002F1.learn-and-explore\u002F0.features",[83,88],{"title":84,"path":85,"stem":86,"icon":87},"TourOptimizer Feature List (Basic \u002F Advanced \u002F Expert)","\u002Fdocs\u002Flearn-and-explore\u002Ffeatures\u002Ffeaturelist","1.docs\u002F1.learn-and-explore\u002F0.features\u002F0.featureList","i-lucide-earth",{"title":89,"path":90,"stem":91,"icon":87},"TourOptimizer Feature Atlas","\u002Fdocs\u002Flearn-and-explore\u002Ffeatures\u002Ffeatureoverview","1.docs\u002F1.learn-and-explore\u002F0.features\u002FFeatureOverview",{"title":93,"icon":6,"path":94,"stem":95,"children":96},"Feature Guides","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Findex",[97,100,105,109,114,119,124,129,134,139,144,148,153,158,163,168,173,177,181,186,191,196,201,206,210],{"title":98,"path":94,"stem":95,"icon":99},"Feature Guides - Overview","i-lucide-clipboard-list",{"title":101,"path":102,"stem":103,"icon":104},"License","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Flicense","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002F0.license","i-lucide-key",{"title":106,"path":107,"stem":108,"icon":37},"Simplified Angular Demo Client","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fangular_demo_client","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fangular_demo_client",{"title":110,"path":111,"stem":112,"icon":113},"AutoFilter","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fautofilter","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fautofilter","i-lucide-filter",{"title":115,"path":116,"stem":117,"icon":118},"Backup-Connector","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fbackupconnector","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fbackupconnector","i-lucide-spline",{"title":120,"path":121,"stem":122,"icon":123},"BitType Skill with CostModel","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fbittype_condition","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fbittype_condition","i-lucide-cpu",{"title":125,"path":126,"stem":127,"icon":128},"Clustering","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fclustering_construction","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fclustering_construction","i-lucide-chart-network",{"title":130,"path":131,"stem":132,"icon":133},"CO2-Emission","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fco2_emission","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fco2_emission","i-lucide-trees",{"title":135,"path":136,"stem":137,"icon":138},"Comparison Tool","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fcomparison_tool","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fcomparison_tool","i-lucide-scale",{"title":140,"path":141,"stem":142,"icon":143},"Flexible Start Time","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fflextime","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fflextime","i-lucide-clock",{"title":145,"path":146,"stem":147,"icon":32},"JOpt-Sandboxes","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fjopt-sandboxes","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fjopt-sandboxes",{"title":149,"path":150,"stem":151,"icon":152},"MagnetoCondition (MagnetoNodeConstraint)","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fmagnetocondition","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002FmagnetoCondition","i-lucide-magnet",{"title":154,"path":155,"stem":156,"icon":157},"Manufacturing Planning via PND","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fmanifacturing_planning","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fmanifacturing_planning","i-lucide-factory",{"title":159,"path":160,"stem":161,"icon":162},"Open Assessor","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fopen_assessor","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fopen_assessor","i-lucide-puzzle",{"title":164,"path":165,"stem":166,"icon":167},"Optimization Properties","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Foptimization_properties","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Foptimization_properties","i-lucide-settings",{"title":169,"path":170,"stem":171,"icon":172},"Overnight Stay","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fovernight_stay","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fovernight_stay","i-lucide-moon",{"title":174,"path":175,"stem":176,"icon":27},"Performance Mode","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fperformance_mode","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fperformance_mode",{"title":178,"path":179,"stem":180,"icon":72},"Pick up and delivery","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fpickup_and_delivery","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fpickup_and_delivery",{"title":182,"path":183,"stem":184,"icon":185},"Pillar Nodes (CapturedNodes)","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fpillar_nodes","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fpillar_nodes","i-lucide-lock",{"title":187,"path":188,"stem":189,"icon":190},"Quantum Construction Plugin (D-Wave)","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fquantum_dwave_plugin_featureguide","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fquantum_dwave_plugin_featureguide","i-lucide-atom",{"title":192,"path":193,"stem":194,"icon":195},"Reactive Events & Streams","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Freactive_events","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Freactive_events","i-lucide-radio",{"title":197,"path":198,"stem":199,"icon":200},"Return To Start","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Freturn_to_start","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Freturn_to_start","i-lucide-undo-2",{"title":202,"path":203,"stem":204,"icon":205},"Skill with Cost Model","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fskill_costmodel","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fskill_costmodel","i-lucide-pocket-knife",{"title":207,"path":208,"stem":209,"icon":67},"ZoneCodes & Territories","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fzonecodes","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fzonecodes",{"title":211,"path":212,"stem":213,"icon":214},"Zone Crossing Penalization","\u002Fdocs\u002Flearn-and-explore\u002Ffeature-guides\u002Fzonecrossing","1.docs\u002F1.learn-and-explore\u002F1.feature-guides\u002Fzonecrossing","i-lucide-land-plot",{"title":216,"icon":6,"path":217,"stem":218,"children":219,"page":6},"Special","\u002Fdocs\u002Flearn-and-explore\u002Fspecial","1.docs\u002F1.learn-and-explore\u002F1.special",[220],{"title":221,"path":222,"stem":223,"icon":224},"Special features","\u002Fdocs\u002Flearn-and-explore\u002Fspecial\u002Fspecial_features","1.docs\u002F1.learn-and-explore\u002F1.special\u002Fspecial_features","i-lucide-star",{"title":226,"icon":6,"path":227,"stem":228,"children":229,"page":6},"REST","\u002Fdocs\u002Flearn-and-explore\u002Frest","1.docs\u002F1.learn-and-explore\u002F2.REST",[230,235,240],{"title":231,"path":232,"stem":233,"icon":234},"REST-Clients for JOpt.TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Frest\u002Frest_client_touroptimizer","1.docs\u002F1.learn-and-explore\u002F2.REST\u002F0.rest_client_touroptimizer","i-lucide-users",{"title":236,"path":237,"stem":238,"icon":239},"TourOptimizer REST Server","\u002Fdocs\u002Flearn-and-explore\u002Frest\u002Frest-server-touroptimizer","1.docs\u002F1.learn-and-explore\u002F2.REST\u002F1.rest-server-touroptimizer","i-lucide-server",{"title":241,"path":242,"stem":243,"icon":244},"TourOptimizer Production Guide","\u002Fdocs\u002Flearn-and-explore\u002Frest\u002Ftouroptimizer-faf","1.docs\u002F1.learn-and-explore\u002F2.REST\u002F2.touroptimizer-faf","i-lucide-shield",{"title":246,"icon":6,"path":247,"stem":248,"children":249,"page":6},"Base Examples","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples","1.docs\u002F1.learn-and-explore\u002F3.base-examples",[250,255,259,263,267,271,275,279,283,287],{"title":251,"path":252,"stem":253,"icon":254},"Basic Examples (Java) — JOpt TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Freadme","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002F0. README","i-lucide-square-terminal",{"title":256,"path":257,"stem":258},"First Optimization — FirstOptimizationExample","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Ffirstoptimizationexample","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002F1. FirstOptimizationExample",{"title":260,"path":261,"stem":262},"Event Nodes — Non-Geographical Tasks in JOpt TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Feventnode","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FEventNode",{"title":264,"path":265,"stem":266},"Export to KML — Export2KMLExample","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Fexport2kmlexample","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FExport2KMLExample",{"title":268,"path":269,"stem":270},"External Node Connection — Custom Distances and Driving Times","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Fexternalnodeconnection","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FExternalNodeConnection",{"title":272,"path":273,"stem":274},"Load and Save Optimization Snapshots (JSON \u002F JSON.BZ2) — JOpt TourOptimizer (Java)","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Floadandsaveoptimization","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FLoadAndSaveOptimization",{"title":276,"path":277,"stem":278},"Pillar Nodes (Captured Nodes) — Hard Constraints Fulfilled by Architecture","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Fpillar","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FPillar",{"title":280,"path":281,"stem":282},"Read Out an Optimization Result — IOptimizationResult in Practice","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Freadoutresult","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FReadOutResult",{"title":284,"path":285,"stem":286},"Recommended Implementation Patterns (Java) — JOpt TourOptimizer Examples","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Frecommendedimplementation","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FRecommendedImplementation",{"title":288,"path":289,"stem":290},"Setting the JOpt License — setLicenseJSON(...) in Java","\u002Fdocs\u002Flearn-and-explore\u002Fbase-examples\u002Fsetlicense","1.docs\u002F1.learn-and-explore\u002F3.base-examples\u002FSetLicense",{"title":292,"path":293,"stem":294,"children":295,"page":6},"Advanced Examples","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples",[296,300,304,308,312,316,320,324,328,332,336,340,344,348,352,356,360,364,368,372,376,380,384,388,392,396,400,404,408,412,416,420,424],{"title":297,"path":298,"stem":299,"icon":254},"Advanced Examples (Java) — JOpt TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Freadme","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002F2. README",{"title":301,"path":302,"stem":303},"Alternate Destination — AlternateDestinationExample","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Falternatedestinationexample","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FAlternateDestinationExample",{"title":305,"path":306,"stem":307},"AutoFilter — Infeasibility Management by Excluding Violation-Prone Nodes","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fautofilter","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FAutoFilter",{"title":309,"path":310,"stem":311},"Binding and Excluding Resource Conditions (Mandatory\u002FPreferred vs. Banned\u002FUnPreferred)","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fbindingexcludingresourcecondition","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FBindingExcludingResourceCondition",{"title":313,"path":314,"stem":315},"BitTypeWithExpertiseCondition","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fbittypewithexpertiseconditionandcostmodelexample","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FBitTypeWithExpertiseConditionAndCostModelExample",{"title":317,"path":318,"stem":319},"Bridge & Tunnel Crossing Penalization with ZoneNumbers","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fbridgetunnelcrossingzonenumberconstraint","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FBridgeTunnelCrossingZoneNumberConstraint",{"title":321,"path":322,"stem":323},"Build an OptimizationConfig fluently and run it via the JSONOptimization engine","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fbuilderpatternexample","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FBuilderPatternExample",{"title":325,"path":326,"stem":327},"CO2-Emission Optimization — From Reporting to an Explicit Optimization Goal","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fco2emissionoptimization","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FCO2EmissionOptimization",{"title":329,"path":330,"stem":331},"CapacityCheck - Input plausibility: capacity check for working time vs required workload","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fcapacitycheckexample","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FCapacityCheckExample",{"title":333,"path":334,"stem":335},"Clustering During Construction — High-Quality Starting Solutions at Scale","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fclustering","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FClustering",{"title":337,"path":338,"stem":339},"Coupled Split Delivery — CoupledFlexLoadSplitDeliveryExample - SDO-Opimization","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fcoupledflexloadsplitdelivery","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FCoupledFlexLoadSplitDelivery",{"title":341,"path":342,"stem":343},"ExtraInfo — Attaching Domain Metadata to Nodes and Resources","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fextrainfo","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FExtraInfo",{"title":345,"path":346,"stem":347},"First\u002FLast Node in Route — Softly Steering Route Anchors via Importance","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Ffirstlastnode","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FFirstLastNode",{"title":349,"path":350,"stem":351},"IncludeVisitDuration — “Arrive Within OpeningHours” vs. “Finish Within OpeningHours”","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fincludevisitduration","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FIncludeVisitDuration",{"title":353,"path":354,"stem":355},"JointVisitDuration — Modeling “Co-located” Stops with Reduced Service Time","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fjointvisitduration","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FJointVisitDuration",{"title":357,"path":358,"stem":359},"Magnetic Condition - Node-Node Soft Condition","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fmagneticsoftcondition","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FMagneticSoftCondition",{"title":361,"path":362,"stem":363},"Open vs. Closed Route — Returning to Depot or Ending “Where It Makes Sense”","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fopenclosedroute","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FOpenClosedRoute",{"title":365,"path":366,"stem":367},"OpenLocationCode — Using Plus Codes Instead of Latitude\u002FLongitude","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fopenlocationcode","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FOpenLocationCode",{"title":369,"path":370,"stem":371},"OptimizationProgress — Controlling Progress Callbacks and Forcing Progress Snapshots","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Foptimizationprogress","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FOptimizationProgress",{"title":373,"path":374,"stem":375},"OvernightStay — Allowing Multi-Day Routes With “Stay Out” Policies","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fovernightstay","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FOvernightStay",{"title":377,"path":378,"stem":379},"Pickup & Delivery (PND) in JOpt.TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fpnd","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FPND",{"title":381,"path":382,"stem":383},"PerformanceMode — Faster Genetic Optimization With Reduced Operators","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fperformancemode","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FPerformanceMode",{"title":385,"path":386,"stem":387},"Read Out Full Progress — Structured KPIs During Optimization","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Freadoutfullprogress","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FReadOutFullProgress",{"title":389,"path":390,"stem":391},"Relations — Coupling Nodes Across Routes, Resources, and Time","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Frelations","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FRelations",{"title":393,"path":394,"stem":395},"RequestResult — Pulling an Intermediate Solution While Optimization Is Still Running","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Frequestresult","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FRequestResult",{"title":397,"path":398,"stem":399},"Resource Connection Efficiency — Modeling “Fast” and “Slow” Vehicles via Travel-Time Scaling","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fresourceconnectionefficiency","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FResourceConnectionEfficiency",{"title":401,"path":402,"stem":403},"ResourceConstraintAliasId — Treating Multiple Resources as One Logical Unit in Constraints","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fresourceconstraintaliasid","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FResourceConstraintAliasId",{"title":405,"path":406,"stem":407},"ResourceType (Skills) — Hard\u002FSoft Matching, Expertise Levels, Cost Models, and High-Performance Bitsets","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fresourcetype","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FResourceType",{"title":409,"path":410,"stem":411},"Resource Visit Duration Efficiency — Modeling Faster (or Slower) Resources","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fresourcevisitdurationefficiency","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FResourceVisitDurationEfficiency",{"title":413,"path":414,"stem":415},"Return To Start (Return2Start) — Insert Mandatory Depot Returns Between Visits","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Freturnstart","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FReturnStart",{"title":417,"path":418,"stem":419},"RunOptimizationInLoop — Stopping a Solver Stage After N Loops","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Frunoptimizationinloop","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FRunOptimizationInLoop",{"title":421,"path":422,"stem":423},"Wait On Early Arrival (First Node) — Prevent “Working Before Shift Start” Only at Route Start","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fwaitonearlyarrivalfirstnode","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FWaitOnEarlyArrivalFirstNode",{"title":425,"path":426,"stem":427},"ZoneCodes — Defining Territories for Resources (and Why It Scales)","\u002Fdocs\u002Flearn-and-explore\u002Fadvanced-examples\u002Fzoneconde","1.docs\u002F1.learn-and-explore\u002F4.advanced-examples\u002FZoneConde",{"title":429,"path":430,"stem":431,"children":432,"page":6},"Expert Examples","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples","1.docs\u002F1.learn-and-explore\u002F5.expert-examples",[433,437,441,445,449,453,457,461,465,469,473,477,481,485,489,493],{"title":434,"path":435,"stem":436,"icon":254},"Expert Examples (Java) — JOpt TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Freadme","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002F3. README",{"title":438,"path":439,"stem":440},"Compare Result — The Optimization Solution Comparison Tool","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fcompareresult","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FCompareResult",{"title":442,"path":443,"stem":444},"Connection Store — Time-Dependent Driving Times (Traffic Profiles)","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fconenctionstore","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FConenctionStore",{"title":446,"path":447,"stem":448},"Create Custom Solution From JSON — Reconstructing a Warm Start from a Serialized Optimization","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fcreatecustomsolutionfromjson","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FCreateCustomSolutionFromJSON",{"title":450,"path":451,"stem":452},"Custom Cost Convergence — Stop Optimization When Your Metric Has Stabilized","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fcustomcostconvergence","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FCustomCostConvergence",{"title":454,"path":455,"stem":456},"Custom Node Backup Connector — Custom Distance\u002FTime Calculation for Missing Connections","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fcustomnodebackupconnector","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FCustomNodeBackUpConnector",{"title":458,"path":459,"stem":460},"Custom Solution — Architecture, Warm-Start Patterns, and Practical Integration","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fcustomsolution","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FCustomSolution",{"title":462,"path":463,"stem":464},"Extract Build Info — Diagnostics, Reproducibility, and Support-Ready Bug Reports","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fextractbuildinfo","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FExtractBuildInfo",{"title":466,"path":467,"stem":468},"FlexTime — Flexible Start Time (Positive and Negative)","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fflextime","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FFlextime",{"title":470,"path":471,"stem":472},"Open Assessor — Node-Level Customization (Custom Node-Level Restrictions)","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fopenassessornodelevel","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FOpenAssessorNodeLevel",{"title":474,"path":475,"stem":476},"Open Assessor — Route-Level Customization (Custom Route-Level Restrictions)","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Fopenassessorroutelevel","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FOpenAssessorRouteLevel",{"title":478,"path":479,"stem":480},"Optimization Scheme — Algorithm Selection and Execution Pipeline","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Foptimizationschemealgorithmselection","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FOptimizationSchemeAlgorithmSelection",{"title":482,"path":483,"stem":484},"Optimization Scheme — Custom Default Properties (Pipeline Defaults With Safe Overrides)","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Foptimizationschemecustomdefaultproperties","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FOptimizationSchemeCustomDefaultProperties",{"title":486,"path":487,"stem":488},"Optional Nodes — Make “Stopovers” and Optional Tasks First-Class Citizens","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Foptionalnode","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FOptionalNode",{"title":490,"path":491,"stem":492},"Read Out Default Properties — Discover, Audit, and Explain the Solver Configuration Surface","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Freadoutdefaultproperties","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FReadOutDefaultProperties",{"title":494,"path":495,"stem":496},"Uncaught Exception Handling — Fail Fast, Fail Deterministically, and Still Return a Useful Signal","\u002Fdocs\u002Flearn-and-explore\u002Fexpert-examples\u002Funcaughtexceptionhandling","1.docs\u002F1.learn-and-explore\u002F5.expert-examples\u002FUncaughtExceptionHandling",{"title":498,"path":499,"stem":500,"children":501,"page":6},"Rest Examples","\u002Fdocs\u002Flearn-and-explore\u002Frest-examples","1.docs\u002F1.learn-and-explore\u002F6.rest-examples",[502,506,510],{"title":503,"path":504,"stem":505,"icon":254},"Rest Examples (Java) — JOpt TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Frest-examples\u002Frest-examples-readme","1.docs\u002F1.learn-and-explore\u002F6.rest-examples\u002F0. rest-examples-readme",{"title":507,"path":508,"stem":509},"Creating REST TourOptimizer JSON Input from a Java Optimization — JOpt TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Frest-examples\u002Fcreateresttouroptimizerinput","1.docs\u002F1.learn-and-explore\u002F6.rest-examples\u002FCreateRestTourOptimizerInput",{"title":511,"path":512,"stem":513},"Reading a REST JSON Config and Running It Locally — JOpt TourOptimizer","\u002Fdocs\u002Flearn-and-explore\u002Frest-examples\u002Freadrestjsonconfigandrun","1.docs\u002F1.learn-and-explore\u002F6.rest-examples\u002FReadRestJsonConfigAndRun",{"title":515,"icon":6,"path":516,"stem":517,"children":518,"page":6},"System Integration","\u002Fdocs\u002Fsystem-integration","1.docs\u002F2.system-integration",[519,529],{"title":520,"icon":6,"path":521,"stem":522,"children":523,"page":6},"System Architecture","\u002Fdocs\u002Fsystem-integration\u002Farchitecture","1.docs\u002F2.system-integration\u002F0.architecture",[524],{"title":525,"path":526,"stem":527,"icon":528},"System Architecture - JOpt platform","\u002Fdocs\u002Fsystem-integration\u002Farchitecture\u002Fsystem_architecture","1.docs\u002F2.system-integration\u002F0.architecture\u002Fsystem_architecture","i-lucide-network",{"title":530,"icon":6,"path":531,"stem":532,"children":533,"page":6},"Container Deployment","\u002Fdocs\u002Fsystem-integration\u002Fcontainerized-deployment","1.docs\u002F2.system-integration\u002F1.containerized-deployment",[534,538,542,546,551,555],{"title":535,"path":536,"stem":537,"icon":254},"Linux - JOpt TourOptimizer on Linux","\u002Fdocs\u002Fsystem-integration\u002Fcontainerized-deployment\u002Fjopt-container-linux","1.docs\u002F2.system-integration\u002F1.containerized-deployment\u002F1.jopt-container-linux",{"title":539,"path":540,"stem":541,"icon":224},"WSL\u002FWindows - Docker Installation","\u002Fdocs\u002Fsystem-integration\u002Fcontainerized-deployment\u002Fdocker-installation-win","1.docs\u002F2.system-integration\u002F1.containerized-deployment\u002F2.docker-installation-win",{"title":543,"path":544,"stem":545,"icon":37},"Windows - JOpt TourOptimizer on Windows Platforms","\u002Fdocs\u002Fsystem-integration\u002Fcontainerized-deployment\u002Fjopt-container-win","1.docs\u002F2.system-integration\u002F1.containerized-deployment\u002F2.jopt-container-win",{"title":547,"path":548,"stem":549,"icon":550},"macOS - JOpt TourOptimizer on Apple Platforms (macOS)","\u002Fdocs\u002Fsystem-integration\u002Fcontainerized-deployment\u002Fjopt-container-macos","1.docs\u002F2.system-integration\u002F1.containerized-deployment\u002F3.jopt-container-macos","i-lucide-apple",{"title":552,"path":553,"stem":554,"icon":239},"Kubernetes - JOpt TourOptimizer","\u002Fdocs\u002Fsystem-integration\u002Fcontainerized-deployment\u002Fkubertnetes","1.docs\u002F2.system-integration\u002F1.containerized-deployment\u002F4.kubertnetes",{"title":556,"path":557,"stem":558,"icon":559},"Terraform - Enterprise Deployment","\u002Fdocs\u002Fsystem-integration\u002Fcontainerized-deployment\u002Fterraform","1.docs\u002F2.system-integration\u002F1.containerized-deployment\u002F5.terraform","i-lucide-layers",[561],{"title":562,"icon":6,"path":563,"stem":564,"children":565,"page":6},"Portal Documentation","\u002Fportal\u002Fdocs","2.portal-docs",[566,576],{"title":567,"icon":6,"path":568,"stem":569,"children":570,"page":6},"Home","\u002Fportal\u002Fdocs\u002Fhome","2.portal-docs\u002F0.home",[571],{"title":572,"path":573,"stem":574,"icon":185,"children":575},"Welcome","\u002Fportal\u002Fdocs\u002Fhome\u002Fwelcome","2.portal-docs\u002F0.home\u002Fwelcome",[],{"title":577,"icon":6,"path":578,"stem":579,"children":580,"page":6},"Support","\u002Fportal\u002Fdocs\u002Fsupport","2.portal-docs\u002F1.support",[581],{"title":582,"path":583,"stem":584,"icon":104,"children":585},"Extended free License","\u002Fportal\u002Fdocs\u002Fsupport\u002Fextended_free_license","2.portal-docs\u002F1.support\u002F0.extended_free_license",[],{"id":587,"title":588,"body":589,"description":619,"extension":620,"meta":621,"navigation":6,"path":50,"seo":622,"stem":623,"__hash__":624},"docs\u002F1.docs\u002F0.getting-started\u002F2.tutorials\u002Findex.md","Tutorials",{"type":590,"value":591,"toc":615},"minimark",[592,596,600],[593,594,588],"h1",{"id":595},"tutorials",[597,598,599],"p",{},"Step-by-step guides to help you get up and running with JOpt.TourOptimizer.",[601,602,603,610],"card-group",{},[604,605,607],"card",{"icon":57,"title":606,"to":55},"Basic Elements",[597,608,609],{},"Core building blocks — nodes, resources, time windows, and durations.",[604,611,612],{"icon":62,"title":59,"to":60},[597,613,614],{},"Build and run your first optimization pipeline from scratch.",{"title":616,"searchDepth":617,"depth":617,"links":618},"",2,[],"Step-by-step tutorials for getting started with JOpt.TourOptimizer.","md",{},{"title":588,"description":619},"1.docs\u002F0.getting-started\u002F2.tutorials\u002Findex","NvKrAUA4OUbwraznAYhYCPehQHOx0muflyPtkq_SYAI",[626,626],null,1776184541257]