Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Need Help

    Posted 08/04/10 05:08 AM

    Originally posted by: phdguest


    Hi,

    I have a problem with my .mod.

    enum Day {MON1, TUE1, WED1, THU1, FRI1,
    MON2, TUE2, WED2, THU2, FRI2,
    MON3, TUE3, WED3, THU3, FRI3,
    MON4, TUE4, WED4, THU4, FRI4,
    MON5, TUE5, WED5, THU5, FRI5 };

    {Day} Mondays = {MON1,MON2,MON3,MON4};
    {Day} Tuesdays = {TUE1,TUE2,TUE3,TUE4};
    {Day} Wednesdays = {WED1,WED2,WED3,WED4};
    {Day} Thursdays = {THU1,THU2,THU3,THU4};
    {Day} Fridays = {FRI1,FRI2,FRI3,FRI4};
    int MAX = 25;
    range Weeks 1..5;

    {Day} DaysOfWeekWeeks=[
    {MON1, TUE1, WED1, THU1, FRI1},
    {MON2, TUE2, WED2, THU2, FRI2},
    {MON3, TUE3, WED3, THU3, FRI3},
    {MON4, TUE4, WED4, THU4, FRI4},
    {MON5, TUE5, WED5, THU5, FRI5}
    ];

    struct HolidayTable {
    string Remarks;
    Day Day;
    string Type;
    };

    {HolidayTable} HolidayTableRows from DBread(db, "select Remarks, Day, Type from HolidayTemp");

    {Day} Holiday = {r.Day|r in HolidayTableRows};

    I want to create another variable call AvailHoliday that does a symdiff of Holiday and Day but i'm not sure how
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 2.  Re: Need Help

    Posted 08/04/10 07:42 AM

    Originally posted by: Cedric Doens


    Hi,

    OPL provides the set operations union, inter, diff, and symdiff

    You should try something like :
    {Day} AvailHoliday = Holiday symdiff Day
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 3.  Re: Need Help

    Posted 08/04/10 09:27 PM

    Originally posted by: phdguest


    handover.mod(144) : semantic error: expecting type: set of enum(MON1,TUE1,WED1,THU1,FRI1,MON2,TUE2,WED2,THU2,FRI2,MON3,TUE3,WED3,THU3,FRI3,MON4,TUE4,WED4,THU4,FRI4,MON5,TUE5,WED5,THU5,FRI5)
    getting type: type(enum(MON1,TUE1,WED1,THU1,FRI1,MON2,TUE2,WED2,THU2,FRI2,MON3,TUE3,WED3,THU3,FRI3,MON4,TUE4,WED4,THU4,FRI4,MON5,TUE5,WED5,THU5,FRI5))

    hmm seems to be getting this error
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 4.  Re: Need Help

    Posted 08/05/10 05:27 AM

    Originally posted by: SystemAdmin


    What is your opl version?
    As far as I know, enum is not a keyword in OPL since the 4.0 version.

    You must replace enums by {string} or set of tuple { string name};
    For example:
    {string} allDay = { "MON1", "TUE1", "WED1", "THU1", "FRI1"};
    {string} Hol = { "TUE1"};
    {string} mydiff = Hol symdiff allDay;
    #DecisionOptimization
    #OPLusingCPOptimizer