Decision Optimization

Decision Optimization

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

 View Only
Expand all | Collapse all

Intensity Function as dvar for Scheduling

  • 1.  Intensity Function as dvar for Scheduling

    Posted Wed July 08, 2015 01:09 PM

    Originally posted by: AdamGregory


    Hello everyone,

    Can interval intensity be used as a decision variable for a scheduling problem using constraint programming under IBM CPLEX?
    All of my approaches so far have been met with a compilation error saying that "Decision variable (or expression X) not allowed"

    Here is an example use:
    Suppose I manage construction of houses. Each housing project is made up of a number of task intervals which have a given precedence and size and must be completed before a deadline. There is a limited number of workers available to work on each housing project and only one worker can work on a given task at a time. Once started, a task can not be interrupted.
    Completion of a task can be sped up by paying an additional fee per time unit a worker is working at an increased rate.
    The objective of the optimization is to ensure that each construction project is completed before the deadline while minimizing the additional cost paid to workers to speed up task completion.
     

    I had hoped to model this behavior using (a) stepFunction decision variable(s) for task interval intensity, but I am running into difficulties.
    Can anyone describe how this behavior can be modeled using interval intensity or suggest an alternative approach?

    Thanks for your help.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Intensity Function as dvar for Scheduling

    Posted Sun July 12, 2015 04:17 PM

    There are separate forums for OPL and CPOptimizer (siblings to this one), and your question might get more traction on one of them.

    You can model a step function in a MIP by assigning a binary variable x[i] to each range i along with the constraint that sum_i x[i] = 1.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Intensity Function as dvar for Scheduling

    Posted Mon July 13, 2015 01:35 AM

    Hi,

    as can be read in the documentation

    dvar interval a [size SZ | in SZMin .. SZMax] [intensity F]

    Where:

    int SZ; int SZMin; int SZMax;

    stepFunction F;

    0 <= SZ <= maxint/2 - 1 0 <= SZMin <= maxint/2 - 1 0 <= SZMax <= maxint/2 - 1

    so F is a stepFunction over time.

     

    Now to model extra productivity you could add other interval variables that would be optional, have the same start and end as a and contribute to what a produces.

    regards


    #CPLEXOptimizers
    #DecisionOptimization