Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Help in ILOG OPL

    Posted 02/23/10 10:53 AM

    Originally posted by: meletis13forever


    I have a problem with my code in a mathematical problem.Here is my code:

    range users=1..4;
    range subcarrier=1..4;
    range throughput=1..4;
    int cuserssubcarrier=...;
    int targetthroughput=...;

    maximize
    sum(i in users,k in subcarrier,t in throughput)
    target[t]*c[i][k];

    My code is working and i have also add external data but ILOG don't show me the values from the arrays it used to maximize the function.I must use decision variables(dvar) but i don't know how.I am confused.Can you help me please?
    #DecisionOptimization
    #MathematicalProgramming-General


  • 2.  Re: Help in ILOG OPL

    Posted 03/03/10 10:40 AM

    Originally posted by: meletis13forever


    I have changed my code like this:
    Here is the .mod file:
    {string} Users=...;
    tuple Userdata{
    int SubcBR1;
    int SubcBR2;
    int SubcBR3;
    int SubcBR4;
    int TargetBR;
    }
    Userdata UserUsers=...;
    dvar int+ UserSubcUsers;

    maximize
    sum(i in Users)
    (User[i].SubcBR1 * UserSubc[i]+
    User[i].SubcBR2 * UserSubc[i]+
    User[i].SubcBR3 * UserSubc[i]+
    User[i].SubcBR4 * UserSubc[i]) * ln(User[i].TargetBR);

    subject to{
    forall(i in Users)
    UserSubc[i]<=User[i].TargetBR;
    }
    And here is the .dat file:
    Users = { "user1", "user2", "user3", "user4" };
    User = #[
    user1 : < 64, 256, 128, 64, 256 >,
    user2 : < 64, 64, 128, 128, 128 >,
    user3 : < 256, 128, 64, 64, 256 >,
    user4 : < 64, 256, 64, 128, 128 >
    ]#;

    I want to write one more constraint in the .mod file.
    One subcarrier can be assingned only on one user-the same subcarrier can not be assigned to two or more users.Can you help me?
    #DecisionOptimization
    #MathematicalProgramming-General


  • 3.  Re: Help in ILOG OPL

    Posted 03/04/10 11:43 AM

    Originally posted by: SystemAdmin


    Dear Meletis,

    at least to me your model an dwhat you would like to achieve with it is unclear.
    What does that mean, that a user is assigned to a subcarrier? Does that mean,
    to chosse one of the SubcBRx?
    What impact does that choice have on your objective? So far,due to your
    objective UserSubc[i] is set to value User[i].TargetBR. This value is multiplied
    with each of the User[i].SubcBRx. Is that, what you have in mind with your objective?

    Please provide some more information.

    Best regards
    Norbert
    #DecisionOptimization
    #MathematicalProgramming-General


  • 4.  Re: Help in ILOG OPL

    Posted 03/09/10 10:15 AM

    Originally posted by: meletis13forever


    The problem is that we have an OFDM-based system which uses a technique that is called DSA(Dynamic Subcarrier Assignment).
    We have 4 users and 4 subcarriers with data rates for each user.Each user have also an achievable data rate (TargetBR).Next we want to maximize the objective function that is:in all users, ln(achievable data-rate for user i)*(data rate of subcarrier that has been choosen for this user).Next we have the constraints that 1 subcarrier is used only from 1 user and have 1 data rate(The other data rates of the choosen subcarrier can not be used in the other users)
    Example:
    user1-subcarrier2=256
    user2-subcarrier3=128
    user3-subcarrier1=256
    user4-subcarrier4=128

    The other constraint is that the subcarrier we have to choose for each user must have data rate<= achievable data rate for each user.
    And also I want ilog to give me back after the execution of the code an array with the data rates for each user.
    #DecisionOptimization
    #MathematicalProgramming-General


  • 5.  Re: Help in ILOG OPL

    Posted 03/10/10 08:19 AM

    Originally posted by: SystemAdmin


    Dear Melitis,

    to me that sounds like a typical Assignment-Problem. Assign a user
    to one of the subcarriers.

    To that end, you have binary variables
    dvar boolean AssignsubCarriers,Users;

    And the coanstaint that one subcarreir can be assigned at most
    one user is written as

    forall(i in subCarriers)
    sum(j in Users) Assigni,j <= 1;

    The objective is
    maximize
    sum(i in subCarriers, j in Users) ci,j*Assigni,j;

    where the data-element
    float costsubCarriers,Users;
    is initialized by the formula you mentioned.
    Hope this helps.

    Best regards
    Norbert
    #DecisionOptimization
    #MathematicalProgramming-General


  • 6.  Re: Help in ILOG OPL

    Posted 03/16/10 10:49 AM

    Originally posted by: meletis13forever


    Thank you all.You helped me very much with my problem!I also understood how to use IBM ILOG!
    #DecisionOptimization
    #MathematicalProgramming-General