[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] How I include a table of 1000 records

From: luisjaime
Subject: Re: [Help-glpk] How I include a table of 1000 records
Date: Tue, 20 Oct 2015 15:01:00 -0500
User-agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Thanks Noli.

It's your suggestion better. Google"ing" I find a book: AMPL writed for Robert Fourer, David M. Gay and Brian W. Kernighan, and I'm reading it. Find that for read a table, It will see like:

set KF;  #for the key field on the table
param field1{LI}; #for the field one
param field2{LI}; #for the field two
param field3{LI}; #for the field three

table data IN "CSV" "tablename.csv":
    KF <- [key], field1 ~ f1, field2 ~ f2, field3 ~ f3;

The table file named "tablename.csv" in disk, would have the next:


If any body find utilitarian this information...

If some body don't have the book, I've complete in a only file.


luis jaime

El 14/10/15 a las 22:03, Noli Sicad escribió:
Hi Luis,

Just do this:

set I:= {1..6};
/* Las i muestras */

For 10,000 records,

set I:= {1..1000};

For CSV file, read and write, you can see the example in
glpk-4.56/examples/csv folder.


Regards, Noli

On 10/15/15, luisjaime <address@hidden> wrote:
Good day for all people in this list:

I've the next model:

set I;
/* Las i muestras */
set J;
/* los j instrumentos */

param r{i in I, j in J};
/* cada una de las muestras de los retornos */

var x {j in J};
/* el portafolio */

minimize obj: sum{i in I, j in J} r[i,j]*x[j];
/* La función objetivo */

s.t. porc_total: sum {j in J} x[j] = 1;


set I := 1 2 3 4 5 6;

set J := 1 2 3;

param r: 1 2 3:=
          1 0.04300620 0.06094491 0.8793238
          2 0.08306441 0.05640739 0.6835024
          3 0.05271815 0.08390957 1.2346929
          4 0.09064139 0.08094768 1.1428601
          5 0.09523738 0.05262512 0.6908464
          6 0.02364452 0.06848395 1.3471945 ;


this run ok, but, how I do for include 1000 records?  It's imposible
write set I:= 1 2 3 .... 999 1000; there are a short form?  I tried with
"set I:=1..1000;" form, but glpsol don't understand.   And, if I will
like read from a csv file, How I can do it?  Of course I've ready a file
with the records.

I have readed the gmpl.pdf but if there are examples, all are related
for the specific item in the guide but haven't examples complete showing
situations like mine, exception the tsp problem.

Thanks a lot!

luis jaime

Help-glpk mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]