caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alessandro Baretta <alex@baretta.com>
To: Chris Hecker <checker@d6.com>
Cc: Ocaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Linear programming
Date: Sun, 23 Feb 2003 22:23:24 +0100	[thread overview]
Message-ID: <3E593BCC.304@baretta.com> (raw)
In-Reply-To: <4.3.2.7.2.20030223121117.02c6ae80@localhost>



Chris Hecker wrote:

> Is this for large scale production work with big sparse matrices, or 
> small dense problems?  I have an implementation of Lemke's algorithm I 
> wrote for solving dense Linear Complementarity Problems.  You can easily
> transform an LP into and LCP and solve it, but this isn't the most 
> efficient way.  So, if this is for "toy" problems (n < 100) then it'd 
> work fine on modern machines, but it won't work for you if you want 
> something totally optimal for huge systems, etc.  You're welcome to use 
> the code if you'd like.  Most paths are pretty well tested (it's called 
> every frame in my game).  It depends on my crappy linear algebra library 
> as well.

I'm not familiar with LCP, yet I'd say I can't afford the 
cost of translating from my binary linear programming 
problems to LCP, whatever it costs. Anyhow, here is some 
data concerning the actual use of the code. The algorithm 
for the cut stock problem uses iteratively a binary LP 
solver to build successive "generations" of partial 
solutions. The LP solver is called approximately log_2 (n) 
times. If a generation has size m, the size of the LP 
problem is about 0.5m^2, and each generation is a little 
over half the size of the former. The cardinality of the 
first generation can reach into the hundreds of elements, up 
to, say, a thousand. This would imply an associated integer 
LP problem of at most about a half million variables, with 
the size of successive calls decreasing approximately by a 
factor of 4.

This sounds pretty heavy to me, especially considering that 
the algorithm I'm coding is only a heuristic algorithm, with 
  no guarantee of optimality--finding the exact solution to 
the cuts stock problems is NP-hard.

Alex

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


      reply	other threads:[~2003-02-23 21:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-23 20:03 Alessandro Baretta
2003-02-23 20:17 ` Chris Hecker
2003-02-23 21:23   ` Alessandro Baretta [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3E593BCC.304@baretta.com \
    --to=alex@baretta.com \
    --cc=caml-list@inria.fr \
    --cc=checker@d6.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).