Try our new documentation site (beta).
PStart
Type: | double |
---|---|
Modifiable: | Yes |
Primal start vector.
For LP models, this defines the current simplex start vector. If you set
PStart
values for every variable in the model and
DStart values for every constraint, then
simplex will use those values to compute a warm start basis. Note that you'll
get much better performance if you warm start your linear program using a
simplex basis (using VBasis and
CBasis).
The PStart
attribute should only be used in situations where you
don't have a basis or you don't want to disable presolve.
For non-convex (MI)QCP and (MI)NLP models, this defines the starting point for
certain primal heuristics. If you set PStart
values for every variable
in the model, then these heuristics will be more likely to converge to feasible
points in the vicinity of the given starting point.
For other problem types, the Pstart
values will be ignored.
If you'd like to provide a feasible starting solution for MIP, non-convex (MI)QCP, or (MI)NLP models, you should input it using the Start attribute.
Note that any model modifications which are pending or are made after
setting PStart
(adding variables or constraints, changing coefficients, etc.)
will discard the start. You should only set this attribute after you are
done modifying your model. If you'd like
to retract a previously specified start, set any PStart
value to
GRB_UNDEFINED
.
Note that if you provide a valid starting extreme point, either through PStart, DStart, or through VBasis, CBasis, then LP presolve will be disabled by default. For models where presolve greatly reduces the problem size, this might hurt performance. For presolve to be enabled, the parameter LPWarmStart must be set to 2.
For examples of how to query or modify attributes, refer to our Attribute Examples.