ProfitOracleRb class
#include <ellalgo/oracles/profit_oracle.hpp>
Oracle for a profit maximization problem (robust version)
This example is taken from [Aliabadi and Salahi, 2013]:
max p'(A x1^alpha' x2^beta') - v1'*x1 - v2'*x2 s.t. x1 \le k'
where: alpha' = alpha \pm e1 beta' = beta \pm e2 p' = p \pm e3 k' = k \pm e4 v' = v \pm e5
Constructors, destructors, conversion operators
Public functions
- auto assess_optim(const Vec& y, double& gamma) -> std::tuple< Cut, bool > -> auto
- Make object callable for cutting_
plane_ optim()
Function documentation
ProfitOracleRb:: ProfitOracleRb(double p,
double A,
double k,
const Vec& a,
const Vec& v,
const Vec& e,
double e3)
Construct a new profit rb oracle object.
| Parameters | |
|---|---|
| p in | the market price per unit |
| A in | the scale of production |
| k in | a given constant that restricts the quantity of x1 |
| a in | the output elasticities |
| v in | output price |
| e in | paramters for uncertainty |
| e3 in | paramters for uncertainty |
auto ProfitOracleRb:: assess_optim(const Vec& y,
double& gamma) -> std::tuple< Cut, bool >
Make object callable for cutting_
| Parameters | |
|---|---|
| y in | input quantity (in log scale) |
| gamma in/out | the best-so-far optimal value |
| Returns | Cut and the updated best-so-far value |