[Top][All Lists]

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

[Help-glpk] Writing Output File to MS Access

From: Alex Morelli
Subject: [Help-glpk] Writing Output File to MS Access
Date: Fri, 2 Sep 2011 16:46:50 +1000


I have a large MIP model (lots of data) for a location - allocation problem.  The model fails due to lack of memory, so I have reduced the data set to validate the model.

I am using a Windows XP 32 bit with 4GB ram (usable is <3GB after system resources - as I understand this stuff).  I will be acquiring a 64bit workstation with lots more memory.

I have used the "build MPS" option in Gusek, creating a 28Mb file - if that provides any indication of the size of the model.

Since having trouble some time ago reading input data from MS Access, I have used the update provided by Xypron successfully (thanks very much and my apologies for not having thanked you earlier).

Now, however, writing the output causes a lack of memory error and the model fails even with the reduced data set.  I have been watching the memory monitor through Windows Task Manager and note that the reduced data set finds an integer (they are all binary) optimal solution after about 2500 secs at which time the reported available memory is c.c. 1.9GB.

When I include the Access table output the memory reduces rapidly and the program fails.  The following is one of the Access output table syntax (which I assume is correct, because the smaller output tables update correctly).

table result_flow_pl_dc {pl in PLANTS, ma in MACHINES, dc in WAREHOUSES, pm in PRODUCTS:flow_pl_dc[pl,ma,dc,pm]>0} OUT "ODBC"

        'DELETE FROM glpk_flow_pl_dc;'
        'INSERT INTO glpk_flow_pl_dc VALUES (?,?,?,?,?)':
        pl~PL, ma~MACHINE, dc~DC, pm~MATERIAL, flow_pl_dc[pl,ma,dc,pm]~QTY;

I have checked and confirmed that the Access table has the same field names and the following is the table structure / data types:

PL                      Number - Long Integer (which is the same as the input data
MACHINE         Number - Long Integer (which is the same as the input data
DC                      Number - Long Integer (which is the same as the input data
MATERIAL                Text - 50 (the input data table has 255, but the actual maximum length is 18).
QTY                     Number - Double (same as the input table)

Is this problem expected or is there something that I can do to get it to complete?

The reason that I am doing this is that the output file that I get from --output is very large, with many zeros.  I adopted this approach after reading some of the help archives.  If there are better / preferred methods, I would be grateful for any advice / suggestions.

(I have tried the csv output with the same outcome).
Regards, Alex

The information included in this email and any attached documents from the Sender may be confidential and/or subject to legal privilege. This information is intended to be for the use of the addressee only. The information contained in this email may not represent the views or opinions of the Sender’s employer. If you are not the intended recipient, note that any disclosure, photocopying, distribution or use of the contents of the emailed information is prohibited. If you have received this email in error, please contact the sender promptly and delete the email from any system and destroy any hard copies. Thank you.

reply via email to

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