This page is for an old version of Hexaly Optimizer. We recommend that you update your version and read the documentation for the latest stable release.

Command line

An LSP program is executed with the following command in a console where file.lsp is a text file containing a valid LSP program and arguments is a list of arguments:

localsolver file.lsp [arguments]

The arguments will be available in the LSP programs as global variables. Each argument consist in an assignment of a value to a global variable. Before starting the execution of the program, these assignment statements will be executed. They are described by the following lexical definition:

arguments      : argument*
argument       : identifier "=" value
value          : float | integer | string | cmdmap
cmdmap         : ( identifier ":" cmdmapvalue | cmdmapvalue )+
cmdmapvalue    : float | integer | string

For example:

localsolver test.lsp x=12 y=abc z="a string with whitespaces" t=true

will assign the integer value 12 to variable x, the string "abc" to variable y, the string "a string with whitespaces" to variable a and the value 1 to variable t.

The assignment of values to maps follows a specific syntax:

localsolver test.lsp a=z,12,8:text,key:41

will create a map a with z associated to key 0, 12 associated to key 1, text associated to key 8 and 41 associated to key key.

Note

The syntax a={2,3} is not valid to assign maps in the command line since unix shells interpret braces as a quantifier.

Note

On Windows, the colon character : is used to separate the drive letter from the directory. Thus, do not refer explicitly to the drive when you want to pass a path in a variable.

For example localsolver myFile.lsp inFileName=C:\\tests\\test.in will not assign the given path to the global variable inFileName. According to the explained behavior above, it will create a map with \tests\test.in assigned to key C.