You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am currently looking at the crossover routine Highs_crossover, and I have some questions and wonders if anyone is aware of the answer. First of all, I would like to sum up what I observe what Highs_crossover is doing with an assumption that only the primal variable values are fed as input of the routine. Please correct me if I am wrong or inaccurate at any step. The following are the steps it takes:
Project $x$ variables (original LP problem's primal variables) to variable bounds and get $\bar{x}$.
Calculate the slacks $s$ of constraints using x. If $s$ is not within its bound, move it to its closest
bound, and get $\bar{s}$. After this step, we regard $(\bar{x},\bar{s})$ as the primal variables of the LP problem in standard form.
Find a dual point, $(y,z)$, for the primal point we found previously. $(\bar{x},\bar{s})$
Check that $\bar{x} \perp y$ and $\bar{s} \perp z$
Start constructing a (well-conditioned) basis with some priority weights, which is related to the primal and dual values of the variables.
Do dual and primal push.
I have two main questions:
How do you construct the dual point in step 2 giving a primal solution? Should I look at it from the aspect of having a point in the primal LP problem and we want to find a corresponding point in the dual LP problem? I was stuck here because I think $(\bar{x},\bar{s})$ can be primal infeasible (i.e. they are within their variable bounds but some standard form constraints may not be satisfied).
For the step 6. What are the goal of primal push and dual push? In the documentation, it says that the routine will push some of dual and primal variables to their bounds. Are they used to get rid of primal and dual infeasibility? I saw that Gurobi also does primal and dual push, but I did not find any explanations of why it does that.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I am currently looking at the crossover routine
Highs_crossover
, and I have some questions and wonders if anyone is aware of the answer. First of all, I would like to sum up what I observe whatHighs_crossover
is doing with an assumption that only the primal variable values are fed as input of the routine. Please correct me if I am wrong or inaccurate at any step. The following are the steps it takes:bound, and get
I have two main questions:
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions