Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
Expand all | Collapse all

Read from multiple Excel Sheets

  • 1.  Read from multiple Excel Sheets

    Posted 02/15/19 04:28 AM

    Originally posted by: Hello76483


    Hey, 

    I got a problem. I want to use one Excel file with different excel Sheets. They all look the same, except they contain different numbers. Now that I'm using a lot of sheets, I wanted to make opl automatically run all of the sheets, while solving the model for each sheet. I wanted to do it in the main, so I defined in the .mod file my variables:

     

    string n = ...;
    string s1 = ...;
    string s2 = ...;
    string dist = ...;
    string yo = ...;
    string zo = ...;

     

    In the Main it looks like that:

     

    main{
        var ModelSource = new IloOplModelSource("Test.mod");
        var ModelDefinition = new IloOplModelDefinition(ModelSource);    
        var ModelCplex = new IloCplex();
        var Model = new IloOplModel(ModelDefinition,ModelCplex);
        
        var ModelData = new IloOplDataSource("Test.dat");
        Model.addDataSource(ModelData);
        Model.generate();
        ModelCplex.solve();
        
        
        for(var i=0; i<50; i++){
        var Model2 = new IloOplModel(ModelDefinition,ModelCplex);    
        
        var Dat = new IloOplDataElements();
        Dat.n ="Tabelle" + i + "!A15:D26";
        Dat.s1 = "Tabelle" + i + "!G17:J23";
        Dat.s2 = "Tabelle"+ i + "!M17:P20";
        Dat.dist = "Tabelle" + i + "!B62:X84";
        Dat.yo = "Ergebnisse!B" + i + ":X"+ i;
        Dat.zo = "Zielfunktion!A" + i;
        
        Model2.addDataSource(Dat);

        Model2.generate();
        ModelCplex.solve();
        
        Dat.end();
        Model2.end();
    }
        
        ModelCplex.end();
        ModelDefinition.end();
        ModelSource.end();
    }

     

    But it's not generating my Model2. Does somebody know what's wrong with my code?

     

    Thanks!


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: Read from multiple Excel Sheets

    Posted 02/18/19 12:51 AM

    Hi,

    what I can tell you is that

    test.mod

    string n = ...;
    string s1 = ...;
    string s2 = ...;
    string dist = ...;
    string yo = ...;
    string zo = ...;

    subject to
    {

    }

    execute
    {
    writeln(zo);
    }

    and then

     main{
        var ModelSource = new IloOplModelSource("Test.mod");
        var ModelDefinition = new IloOplModelDefinition(ModelSource);    
        var ModelCplex = new IloCplex();
        var Model = new IloOplModel(ModelDefinition,ModelCplex);
        
    //    var ModelData = new IloOplDataSource("Test.dat");
    //    Model.addDataSource(ModelData);
    //    Model.generate();
    //    ModelCplex.solve();
        
        
        for(var i=0; i<50; i++){
        var Model2 = new IloOplModel(ModelDefinition,ModelCplex);    
        
        var Dat = new IloOplDataElements();
        Dat.n ="Tabelle" + i + "!A15:D26";
        Dat.s1 = "Tabelle" + i + "!G17:J23";
        Dat.s2 = "Tabelle"+ i + "!M17:P20";
        Dat.dist = "Tabelle" + i + "!B62:X84";
        Dat.yo = "Ergebnisse!B" + i + ":X"+ i;
        Dat.zo = "Zielfunktion!A" + i;
        
        Model2.addDataSource(Dat);

        Model2.generate();
        ModelCplex.solve();
        Model2.postProcess();
        
        Dat.end();
        Model2.end();
    }
        
        ModelCplex.end();
        ModelDefinition.end();
        ModelSource.end();
    }

    gives

     

    Zielfunktion!A0
    Zielfunktion!A1
    Zielfunktion!A2
    Zielfunktion!A3
    Zielfunktion!A4
    Zielfunktion!A5
    Zielfunktion!A6
    Zielfunktion!A7
    Zielfunktion!A8
    Zielfunktion!A9
    Zielfunktion!A10
    Zielfunktion!A11
    Zielfunktion!A12
    Zielfunktion!A13
    Zielfunktion!A14
    Zielfunktion!A15
    Zielfunktion!A16
    Zielfunktion!A17
    Zielfunktion!A18
    Zielfunktion!A19
    Zielfunktion!A20
    Zielfunktion!A21
    Zielfunktion!A22
    Zielfunktion!A23
    Zielfunktion!A24
    Zielfunktion!A25
    Zielfunktion!A26
    Zielfunktion!A27
    Zielfunktion!A28
    Zielfunktion!A29
    Zielfunktion!A30
    Zielfunktion!A31
    Zielfunktion!A32
    Zielfunktion!A33
    Zielfunktion!A34
    Zielfunktion!A35
    Zielfunktion!A36
    Zielfunktion!A37
    Zielfunktion!A38
    Zielfunktion!A39
    Zielfunktion!A40
    Zielfunktion!A41
    Zielfunktion!A42
    Zielfunktion!A43
    Zielfunktion!A44
    Zielfunktion!A45
    Zielfunktion!A46
    Zielfunktion!A47
    Zielfunktion!A48
    Zielfunktion!A49

    and you could also have a look at https://www.ibm.com/developerworks/community/forums/html/topic?id=b3e7bd19-e135-4431-b815-8166cc25e660&ps=25

    regards

     

    https://www.linkedin.com/pulse/low-barrier-entry-optimization-through-cplex-alex-fleischer/


    #DecisionOptimization
    #OPLusingCPLEXOptimizer