Class profit_oracle

Page Contents

Class Documentation

class profit_oracle

Oracle for a profit maximization problem.

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:

p(A x1^alpha x2^beta): Cobb-Douglas production function
p: the market price per unit
A: the scale of production
alpha, beta: the output elasticities
x: input quantity
v: output price
k: a given constant that restricts the quantity of x1

Public Functions

inline profit_oracle(double p, double A, double k, const Arr &a, const Arr &v)

Construct a new profit 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

explicit profit_oracle(const profit_oracle&) = default

Construct a new profit oracle object (only explicitly)

auto operator()(const Arr &y, double &t) const -> std::tuple<Cut, bool>
Parameters
  • y[in] input quantity (in log scale)

  • t[in] the best-so-far optimal value

Returns

std::tuple<Cut, double> Cut and the updated best-so-far value

Public Members

Arr _a