Topic
3 replies Latest Post - ‏2013-02-07T21:28:11Z by ghosh.d7
ghosh.d7
ghosh.d7
6 Posts
ACCEPTED ANSWER

Pinned topic error - cplex cannot extract expression (nonlinear)

‏2013-02-06T02:31:42Z |
Hi all,

My objective function is the following.

maximize sum (t in techs) (log(q*exp(-(ys[t] - yst-1 - k*(theta - yst-1) - mu)^2 / (2*v^2 + 2*gamma^2)) / sqrt(2*3.1415*(v^2+gamma^2)) + (1-q)*exp(-(ys[t] - yst-1 - k*(theta - yst-1))^2 / (2*v^2)) / sqrt(2*3.1415*(v^2))));

All the variables there are dvars, except for ystechs which is a float data array.

Is this function not possible for CPLEX to compute the optimum for? Or is there a simplified expression that CPLEX will be able to do?

This is for a maximum log likelihood calculation.

Thanks!
Updated on 2013-02-07T21:28:11Z at 2013-02-07T21:28:11Z by ghosh.d7
  • ghosh.d7
    ghosh.d7
    6 Posts
    ACCEPTED ANSWER

    Re: error - cplex cannot extract expression (nonlinear)

    ‏2013-02-06T02:32:51Z  in response to ghosh.d7
    There seems to be an error in displaying the yst-1 terms. It should read like ys[t], except that the argument is (t-1)
  • SystemAdmin
    SystemAdmin
    2130 Posts
    ACCEPTED ANSWER

    Re: error - cplex cannot extract expression (nonlinear)

    ‏2013-02-07T12:14:17Z  in response to ghosh.d7
    The problem, as formulated, is not convex, and as such not even close for the cplex to handle. The equivalent reformulation will not help here, given that even the standard deviation is a decision variable.

    Either try to simplify the problem and bring it to convex quadratic or linear form or use non-linear solver. Least Squares is also a sub-class of maximum-likelihood problems, but it has a fixed standard deviation.

    BTW, what is q in your formulation?

    regards,
    Zahar
    • ghosh.d7
      ghosh.d7
      6 Posts
      ACCEPTED ANSWER

      Re: error - cplex cannot extract expression (nonlinear)

      ‏2013-02-07T21:28:11Z  in response to SystemAdmin
      Thanks Zahar, I appreciate it. q in the formulation is one of the decision variables. This MLE is used to determine parameters for a jump process, and q is the measure of jump intensity. If you're interested, there's more in the paper "Surpise element: jumps in interest rates" by Sanjiv Das in J. of Econometrics <http://www.sciencedirect.com/science/article/pii/S0304407601000859>.

      I'll just use gradient method in R or Matlab to compute this.