optimization_term

- type: setup command.
- function: define optimization equation via individual terms

&optimization_term STRING term = NULL; double weight = 1.0; STRING field_string = NULL; long field_initial_value = 0; long field_final_value = 0; long field_interval = 1; STRING input_file = NULL; STRING input_column = NULL; long verbose = 0; &end

`term`

-- An`rpn`expression giving one term to be optimized. If more than one`optimization_term`

command is given, then the terms are added. The advantage of using this command over giving an equation via`optimization_setup`

is that`elegant`will report the value of each term as it performs the optimization (if a`log_file`

is given to`optimization_setup`

). This permits determination of which terms are causing problems for the optimization.Please see the entry for

`equation`under`optimization_setup`for details on designing optimization terms.`weight`

-- The weight to assign to this term. If zero, the term is ignored.`field_string`

,`field_initial_value`

,`field_final_value`

,`field_interval`

-- These parameters are used to perform substitution of a series of values into the string given by`term`

. This can be used to make an identical constraint at a number of instances of the same marker. For example, to constraint`Cx`

to zero at instances 1, 3, 5, ..., 39, of marker`M1`

, one could use&optimization_term term = "M1#@.Cx sqr", field_string = @, field_initial_value = 1, field_final_value = 39, field_interval = 2 &end

`input_file`

,`input_column`

-- If given,`input_file`

is taken as the name of an SDDS file, which is expected to have a string column named by`input_column`

. Each row of the column is taken as a separate optimization term.`verbose`

-- If nonzero, optimization terms are echoed to the terminal as they are created or read from the input file.