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
- 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.
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 |