help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] Non-sparse problems and other questions


From: Erik de Castro Lopo
Subject: Re: [Help-glpk] Non-sparse problems and other questions
Date: Sun, 2 Jun 2002 15:27:57 +1000

On Fri, 31 May 2002 12:41:49 +0400
"Andrew Makhorin" <address@hidden> wrote:

> Erik de Castro Lopo wrote:
>
> >On these large problems (using glp_call_rsm1) I find that even finding
> >an  initial feasible solution can take a lot of number crunching and
> >considerable time. I do however have a very computationally cheap method
> >of obtaining a near-feasible solution.
> 
> I would suggest you to use new api routines introduced in glpk 3.1.
> Firstly, this would allow you saving about a half of memory, because in
> this case no copy of the original problem instance is created. And
> secondly, the new api routines are a bit more intelligent than the old
> ones. Once you have created your LP problem instance, you can specify
> a desired initial basis using the new api routines lpx_set_row_stat and
> lpx_set_col_stat (for details see the reference manual included in the
> distribution).

I am continuing on my quest to improve the speed of the solver. Currently 
I think the biggest gains in this area are to be achieved by supplying the
solver with a near-feasible initial solution. 

I have looked at the routines lpx_set_row_stat() and lpx_set_col_stat()
and I do not think they can help me placing an initial solution into the
solver. This may simply be a reflection on my poor understanding of the
LP terminology and process.

Currently after calling lpx_simplex() and waiting for its to crunch the 
numbers, I use the function lpx_get_col_info() for each of the columns
to retrieve the solution to my problem.

My idea of what I would like to be able to do is as follows:

   1) Before calling lpx_simplex(), insert my near-feasible solution via
      a call to a function called say lpx_set_col_info() (inverse of
      lpx_get_col_info()).
   2) Call a warm up function (maybe lpx_warm_up() could be used for this)
      to set any matrices internal to the solver into a state whereby the
      current solution matches the near-feasible solution supplied by the
      calls to the new function lpx_set_col_info().
   3) Call lpx_simplex() to start the solver from the supplied starting
      point.

If this is possible to do using lpx_set_row_stat() and lpx_set_col_stat()
I cannot currently see how.

Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  address@hidden (Yes it's valid)
+-----------------------------------------------------------+
Microsoft is finally bringing all of its Windows operating system families
under one roof. It will combine all of the features of CE, stability and
support of ME and the speed of NT.
It will be called Windows CEMENT...



reply via email to

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