Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
Expand all | Collapse all

Free-knot spline approximation

  • 1.  Free-knot spline approximation

    Posted Tue December 03, 2013 12:28 PM

    Originally posted by: Zofteis


    Hi I hope that someone of you might help me,

    Is there any CPLEX solution for piecewise linear approximation (non-decreasing) on discrete data points?

    I have around 30 discrete points and want to use several straight line segments(pieces) to approximate the curve according to the Least-squares fitting.

    To have a better approximation I would like the solver to choose the knots of the approximation on its own.

    As far as I know CPLEX and cplexqlin is only able to give a piecewise linear approximation according to the Least-square fitting when I have fixed knots...

    Is that right? I´m using Matlab and I´m currently using the following tool: http://www.mathworks.com/matlabcentral/fileexchange/24443-slm-shape-language-modeling

    It´s working prefect for my purpose but a bit to slow so I was wondering if I might reformulate it so that it is using CPLEX instead of fmincon but I have a problem with the line "intknots = fmincon(@free_knot_obj,intknots,A,b, ...
    [],[],[],[],[],fminconoptions,x,y,prescrip);"

    And I´m wondering if it is possible at all!

    Thank you for your help.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Free-knot spline approximation

    Posted Tue December 10, 2013 02:01 AM

    As far as I understand you do not use any non-linear constraints (the 'nonlcon' argument to fmincon() is empty)?

    If that is the case then in order to use CPLEX, function free_knot_obj must be either a linear or quadratic function. if you can rewrite free_knot_obj as "c'x" or "x'Qx + c'x" then you may be able to use CPLEX (see here for CPLEX limitations about quadratic objective functions).


    #CPLEXOptimizers
    #DecisionOptimization