Thank you for the answer Robbie,

2012/5/9 Robbie Morrison <[email protected]>

>
> Hello Tony
>
> ------------------------------------------------------------
> To:           [email protected]
> Subject:      [Help-glpk] Generate data section files for model (in GNU
> MathProg or other languages)
> From:         Tony Khosravi <[email protected]>
> Date:         Wed, 9 May 2012 17:13:36 +0200
> ------------------------------------------------------------
>
> > Hi,
> >
> > I would like to know if it was possible to generate any
> > data files in the GNU MathProg format with the GLPK
> > lib.
> >
> > When I am talking about data file, I mean the data
> > section of model data.  The aim would be to be able to
> > generate many text files containing only the data
> > section so that they can be used later with the solver
> > and a file containing only the model section. I didn't
> > find any thing like that.
> >
> > My thought is now to try to implement a general lib to
> > generate sets or parameters in a text file according to
> > the documentation gmpl, but I was wondering it this had
> > been done before (which might be probable).
> >
> > I also had the idea of using the table statement with
> > the CSV driver, but apparently, it cannot be used in
> > the data section, only in the model section, and I
> > don't want to touch the file with the model. The aim is
> > to keep the data section separate from the model
> > section.
> >
> > --
> > *Tony Khosravi Dehkourdi*
> >
> > MSc. Student - Computer Systems
> > *Link?ping University*
> > El?ve ing?nieur -- G?nie Informatique, Syst?mes et R?seaux d'Informations
> > (GI06)*
> > Universit? de Technologie de Compi?gne*
> > Tel:+46 7 60 69 51 57
>
> Hello Tony
>
> AFAIK, once your high-level MathProg model has been
> translated into a low-level problem object, it is not
> possible to detranslate it.
>
> So I guess you are talking about doing this processing
> before your MathProg model + data has been irrevocably
> translated.
>
> You may therefore need to do this work outside of GLPK?
> That is my best guess anyway.
>
> These links might be useful while thinking about your
> problem:
>
>  http://en.wikibooks.org/wiki/GLPK/Steps_of_GMPL_File_Processing
>  http://en.wikibooks.org/wiki/GLPK/Interoperability
>  http://en.wikibooks.org/wiki/GLPK/Scripting_plus_MathProg
>
> best regards
> ---
> Robbie Morrison
> PhD student -- policy-oriented energy system simulation
> Technical University of Berlin (TU-Berlin), Germany
> University email (redirected) : [email protected]
> Webmail (preferred)           : [email protected]
> [from Webmail client]
>
>
>
I would say that the last link is partially the answer to my question.

I will try to explain better what I want to do.

So as I said, I would like to generate a file containing only data section
through a program in a way that I can generate many of those data files
through a program, and then run the GLPK solver on each data file according
to a model. So you understand that the data section and the model section
are in two different files.

I think I need to say that I program in C++.

Let's say that my program is split into three modules:
   - one which generates data (the nature of those data are not important)
through N iterations
   - one which would store those data into  N files (data section in a text
file)
   - one which read those data files one by one and run the solver (given a
file which contains the model section)
The first and third modules are implemented, so I am interested in
implementing the second one.

In fact, the aim is not to have a very flexible program since to be able to
generate the data files, it (I) need to know the model.
Let's say that my first module generate a matrix. With this matrix, I want
to compute different things which would corresponds to some parameters
needed for the model. Therefore, I would like to store them in file. In
order to have something a bit flexible, I was wondering if there was some
methods available in GLPK or in another library which could perform those
action like a method called "toGMPLParam(name, defaultValue,
listOfRecords)"
which would give in a file in the GMPL format
param name default defaultValue record1, record2, ..., recordsN

It is still unclear I think so I will try to explain with an example as
follow:
I have this "program" in whatever-the-language
/* myprog.cpp */

begin
     // Here I generate some data that I store in a matrix
     var myMatrix <- generateData
     // Here I perform some operations on this matrix
    var var1 <- action1(myMatrix)
    var var2 <- action2(myMatrix)

    // Here is the part I am interested in
    fileOpen("mydata.dat")
    f <- toGMPLParam("var1", 0, var1)
    f <- toGMPLParam("var2", 0, var2)

    // I run this file with the solver and a .mod file
    var optimalSolution <- solve("mydata.dat", "mymodel.mod")

end

/* eof */

I am aware of the fact that I could implement a way of just writing those
data in a file, trying to respect the MathProg format (as long as it is
modular, I would be satisfied), but maybe GLPK or another lib provides such
methods that would generate a file with the proper syntax used in MathProg
given some parameters.

Best regards


-- 
*Tony Khosravi Dehkourdi*

MSc. Student - Computer Systems
*Linköping University*
Elève ingénieur -- Génie Informatique, Systèmes et Réseaux d'Informations
(GI06)*
Université de Technologie de Compiègne*
Tel:+46 7 60 69 51 57
_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to