Error Messages/40699
Error Text
The shadow price (dual of constraints) is not available for non-linear problems.
Cause
The LpShadow function can only be used to compute the shadow price (or dual value of constraints) for a linear program, or quadratic program with linear constraints, created via a call to LpDefine or QpDefine. It cannot be used with quadratic programs when quadratic constraints are present, or with NLPs.
The concept of a shadow price is meaningful in the context of a QCP or NLP, but not computed by this function. You could compute the shadow price of a QCP (i.e., with convex quadratic constraints), for example, by using:
Var delta := 1e-6; Var obj := LpOpt(my_qp); For i:=@constraint Do ( WhatIf( (LpOpt(my_qp), If @constraint=i Then rhs+delta else rhs ) - obj) / delta )
where my_qp is the variable defined by QpDefine, constraint is the constraint index passed to QpDefine in my_qp, and rhs is a variable passed as the «rhs» parameter to QpDefine. This causes the QCP to be solved multiple times to compute these shadow prices.
Enable comment auto-refresher