LocalSolver
×
Products
Products
LocalSolver Optimizer
Fast and scalable optimization solver
LocalSolver Cloud
Run LocalSolver seamlessly in the cloud
LocalSolver Modeler
Modeling language that improves your productivity
Applications
Vehicle Routing
Build your route optimization application
Production Scheduling
Build your production scheduling application
Benchmarks
Pricing
Customers
Example tour
Services
Customers
Developers
Get started
Installation & licensing
Quick start guide
Modeling features
Technical features
Guidelines
Example tour
APIs
Python API Reference
C++ API Reference
C# API Reference
Java API Reference
LocalSolver Modeler Reference
Download
Doc center
Blog
Last articles
LocalSolver nominated for Indus'RO Award
LocalSolver at ECRM 2022
LocalSolver vs Gurobi on the Capacitated Vehicle Routing Problem with Time Windows (CVRPTW)
New release: LocalSolver 11.0
Project Management and Scheduling 2022
Benchmarks
Case studies
New features
Tutorials
Events
All articles
Company
About
Team
Join Us
Login
Contact us
Contact us
Login
Open menu drawer
LocalSolver
Installation & licensing
Installation on Windows
System requirements
Installation
Licensing for: Free Trial, Free Academic, Desktop or Server licenses
Licensing for: Floating or Site licenses
Alternative license locations
Testing
Uninstall LocalSolver
Installation on Linux
System requirements
Installation
Licensing for: Free Trial, Free Academic, Desktop or Server licenses
Licensing for: Floating or Site licenses
Alternative license locations
Testing
Uninstall LocalSolver
Installation on macOS
System requirements
Installation
Licensing for: Free Trial, Free Academic, Desktop or Server licenses
Licensing for: Floating or Site licenses
Alternative license locations
Testing
Uninstall LocalSolver
Python setup (optional)
Quick start guide
What is LocalSolver ?
First Model
Solving your first model with LocalSolver modeler (LSP)
Writing the model
Launching the model
Solving your first model in Python
Writing the model
Running the Python program
Running LocalSolver without pip
Solving your first model in C++
Writing the model
Compiling and running the C++ program
Solving your first model in C#
Writing the model
Compiling and running the C# program
Solving your first model in Java
Writing the model
Compiling and running the Java program
Modeling features
Mathematical modeling features
Decision variables
Constraints
Objectives
Table of available operators and functions
Multiobjective resolution
Lexicographic order
Phases
At operator
The 1-dimensional at operator
The multi-dimensional at operator
Jagged arrays
Pitfalls
Piecewise operator
List and set variables
Creation operator
Setting and retrieving values
Operators on lists and sets
Operators specific to lists
Modeling with lists
Modeling with sets
Lambda expressions
Ranges
Lambda functions
Applying a lambda function to a range
External functions
Principles
Example
Pitfalls
Surrogate modeling
Modeling guide for routing problems
The Traveling Salesman Problem (TSP)
The Prize-Collecting Traveling Salesman Problem (PCTSP)
The Capacitated Vehicle Routing Problem (CVRP)
The Prize-Collecting Capacitated Vehicle Routing Problem (PCCVRP)
The Capacitated Vehicle Routing Problem with Time-Windows (CVRPTW)
CVRP with preassignments
The Pickup and Delivery Problem (PDVRP)
CVRPTW with minimization of waiting time
TSP with draft limits (TSPDL)
Other routing problems
Technical features
Retrieving solution status and values
Status of the solution
Values of numeric variables and expressions
Values of collection variables and expressions
Setting an initial solution
Infeasibility and inconsistency
Analyzing inconsistencies
Callbacks and events
LocalSolver Cloud
Get started
Architecture and security
Advanced configuration
Guidelines
Modeling principles
Distinguish decision variables from intermediate variables
Distinguish constraints from first priority objectives
Define your objective function
Debugging a model
Introduce constraints and objectives one by one
Inject a feasible solution as initial solution
How to migrate from MIP to LSP?
Decision variables and intermediate expressions
Using non-linear operators instead of linearizations
Remove useless constraints
Example tour
Toy
Principles learned
Problem
Program
Knapsack
Principles learned
Problem
Program
Curve Fitting
Principles learned
Problem
Data
Program
Facility Location (FLP)
Principles learned
Problem
Data
Program
Smallest Circle
Principles learned
Problem
Data
Program
Branin Function
Principles learned
Problem
Program
Max Cut
Principles learned
Problem
Data
Program
Hosaki Function
Principles learned
Problem
Program
Car Sequencing
Principles learned
Problem
Data
Program
Car Sequencing Color
Principles learned
Problem
Data
Program
Social Golfer
Principles learned
Problem
Data
Program
Steel Mill Slab Design
Principles learned
Problem
Data
Program
Bin Packing (BPP)
Principles learned
Problem
Data
Program
Capacitated Facility Location (CFLP)
Principles learned
Problem
Data
Program
Optimal Bucket
Principles learned
Problem
Program
K-Means Clustering (MSSC)
Principles learned
Problem
Data
Program
Quadratic Assignment (QAP)
Principles learned
Problem
Data
Program
Assembly Line Balancing (SALBP)
Principles learned
Problem
Data
Program
Flow Shop
Principles learned
Problem
Data
Program
Job Shop (JSP)
Principles learned
Problem
Data
Program
Flexible Job Shop (FJSP)
Principles learned
Problem
Data
Program
Stochastic Scheduling
Principles learned
Problem
Data
Program
Traveling Salesman (TSP)
Principles learned
Problem
Data
Program
Known optimal solutions
Capacitated Vehicle Routing (CVRP)
Principles learned
Problem
Data
Program
Vehicle Routing with Time Windows (CVRPTW)
Principles learned
Problem
Data
Program
Pickup and Delivery with Time Windows (PDPTW)
Principles learned
Problem
Data
Program
Inventory Routing (IRP)
Principles learned
Problem
Data
Program
Split Delivery Vehicle Routing (SDVRP)
Principles learned
Problem
Data
Program
Location Routing Problem (LRP)
Principles learned
Problem
Data
Program
Aircraft Landing
Principles learned
Problem
Data
Program
Movie Shoot Scheduling
Principles learned
Problem
Data
Program
Revenue Management
Principles learned
Problem
Program
Pooling
Principles learned
Problem
Data
Program
Python API Reference
LocalSolver
LocalSolver Class
LSArray Class
LSCollection Class
LSEvaluationPoint Class
LSExpression Class
LSExternalArgumentValues Class
LSExternalContext Class
LSInconsistency Class
LSModel Class
LSParam Class
LSPhase Class
LSSolution Class
LSStatistics Class
LSSurrogateParameters Class
LSVersion Class
LSError Class
LSCallbackType Enumeration
LSErrorCode Enumeration
LSObjectiveDirection Enumeration
LSOperator Enumeration
LSSolutionStatus Enumeration
LSState Enumeration
Modeler
LSPFunction Class
LSPMap Class
LSPModeler Class
LSPModule Class
C++ API Reference
LocalSolver
LocalSolver Class
LSArray Class
LSCollection Class
LSEvaluationPoint Class
LSExpression Class
LSExternalArgumentValues Class
LSExternalContext Class
LSInconsistency Class
LSModel Class
LSParam Class
LSPhase Class
LSSolution Class
LSStatistics Class
LSSurrogateParameters Class
LSVersion Class
LSException Class
LSArrayExternalFunction Interface
LSCallback Interface
LSExternalFunction Interface
LSCallbackType Enumeration
LSErrorCode Enumeration
LSObjectiveDirection Enumeration
LSOperator Enumeration
LSSolutionStatus Enumeration
LSState Enumeration
Modeler
LSPFunction Class
LSPMap Class
LSPMapIterator Class
LSPModeler Class
LSPModule Class
LSPValue Class
LSPFunctor Interface
LSPType Enumeration
C# API Reference
LocalSolver
LocalSolver Class
LSArray Class
LSCollection Class
LSEvaluationPoint Class
LSException Class
LSExpression Class
LSExternalArgumentValues Class
LSExternalContext Class
LSInconsistency Class
LSModel Class
LSParam Class
LSPhase Class
LSSolution Class
LSStatistics Class
LSSurrogateParameters Class
LSVersion Class
LSCallback Delegate
LSLambdaFunction Delegate
LSExternalFunction Delegate
LSCallbackType Enumeration
LSErrorCode Enumeration
LSObjectiveDirection Enumeration
LSOperator Enumeration
LSSolutionStatus Enumeration
LSState Enumeration
Modeler
LSPFunction Class
LSPMap Class
LSPModeler Class
LSPModule Class
LSPValue Class
LSPFunctor Delegate
LSPType Enumeration
Java API Reference
LocalSolver’s Modeler (LSP)
Quick tour of LocalSolver’s modeler
Programming style
Built-in variables and functions
Solving your first business problem
Syntax and lexical analysis
Global structure
Encoding
Comments
Identifiers
Keywords
Literals
Values and types
Standard & common types
Other types
Variables
Global variables
Local variables
Memory management
Expressions
Arithmetic expressions
Relational expressions
Logical expressions
Conditional (ternary) expressions
Indexed expressions
Member expressions
Type related expressions
Operator precedence & associativity
Map declaration
Statements
Assignment statements
If statements
For statements
While/do-while statements
Continue statement
Break statement
Try-catch statement
Throw statement
Constraint/minimize/maximize statements
Functions
Function definition
Return statement
Function call
Variadic function call
Function manipulations
Lambda and closures
Command line
Standard library
Builtin functions and variables
String module
Map module
I/O module
Charset module
Random module
Date/time module
JSON module
Appendix
BNF Syntax
Changelog
LocalSolver 11.0
Sort operator
Black-box optimization
External functions returning multiple values
API Changes
LocalSolver 10.5
LocalSolver cloud
New modeling operators
API Changes
LocalSolver 10.0
Modeler API
JSON Module
Black-box optimization
API Changes
LocalSolver 9.5
External Functions
Black-box optimization
Lambda Functions
API Changes
LocalSolver 9.0
LocalSolver 8.5
API Changes
LocalSolver 8.0
API Changes
LocalSolver 7.5
API Changes
LocalSolver 7.0
API Changes
LocalSolver 6.5
LocalSolver 6.0
API Changes
LocalSolver
Docs
»
Guidelines
Guidelines
¶
This section answers questions that you may have on good modeling practices or on technical issues.
Modeling principles
Debugging a model
How to migrate from MIP to LSP?