Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problems using dsplp (from SLATEC-library)

24 views
Skip to first unread message

Olaf Poppe

unread,
Mar 19, 1999, 3:00:00 AM3/19/99
to
I am trying to use the routine dsplp (LP-solver) from the SLATEC-library
for my purposes.
But I can't even get the tiny example running that comes with it (called
lpex).
I cut and pasted the example, so there should be no mistasake in the
code.
Everything compiles just fine (I am using g77). But the program returns
the following error:
***MESSAGE FROM ROUTINE DSPLP IN LIBRARY SLATEC.
***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
* THE USER OPTION ARRAY HAS UNDEFINED DATA.
* ERROR NUMBER = 14
*
***END OF MESSAGE

***JOB ABORT DUE TO UNRECOVERED ERROR.
0 ERROR MESSAGE SUMMARY
LIBRARY SUBROUTINE MESSAGE START NERR LEVEL
COUNT
SLATEC DSPLP THE USER OPTION ARRA 14 1
1

This error number "14" is somehow linked to the definition of the user
option vector PRGOPT.
But, since I am using the sample code and the option used in there is
conform with the description:

C PRGOPT(*)
C ---------
C This array is used to redefine various parameters within DSPLP( ).

C Frequently, perhaps most of the time, a user will be satisfied
C and obtain the solutions with no changes to any of these
C parameters. To try this, simply set PRGOPT(1)=1.D0.

I don't see, what I did wrong. PRGOPT has dimension 1. And PRGOPT(1)
gets a value assigned to it.
So, I don't understand why this array should have "UNDEFINED DATA".

I am certain that this library routine is correct but I simply cannot
find the mistake I must have made..
So I would be glad if someone of you could tell me, what I did wrong...

Thanks!

Olaf Poppe
------------
olaf....@iw.uni-halle.de

Hans D. Mittelmann

unread,
Mar 19, 1999, 3:00:00 AM3/19/99
to
Hi,
several years ago I made progress on getting this to run, but there was
then a numerical instability stemming apparently from a Harwell
subroutine. I would suggest to use a newer LP solver. See, for example,
http://plato.la.asu.edu/guide.html#LP
http://plato.la.asu.edu/bench.html

Hans Mittelmann

--
Hans D. Mittelmann http://plato.la.asu.edu/
Arizona State University Phone: (602) 965-6595
Department of Mathematics Fax: (602) 965-0461
Tempe, AZ 85287-1804 email: mitte...@asu.edu

James R. Van Zandt

unread,
Mar 31, 1999, 3:00:00 AM3/31/99
to
In article <36F2B94B...@iw.uni-halle.de>,

Olaf Poppe <olaf....@iw.uni-halle.de> wrote:
>I am trying to use the routine dsplp (LP-solver) from the SLATEC-library
>for my purposes.

For the architectures I use (i386 and MIPS), I found it necessary to
substitute a newer version of the customization subroutine, r1mach.f.
With that, I got SPLP (the single precision version) working.
However, DSPLP would not work. I have not managed to track down the
problem. If you get it working, please let me know.

If an interior point method can serve, I suggest you check out PCx at
http://www-c.mcs.anl.gov/home/otc/Guide/SoftwareGuide/Blurbs/PCx.html

If you have a Debian Linux system, you can try the Debian package
(which I maintain):
/debian/dists/stable/non-free/binary-i386/math/pcx_1.1-1.deb

- Jim Van Zandt


Peter Spellucci

unread,
Apr 1, 1999, 3:00:00 AM4/1/99
to
In article <7dtlpl$1dm$1...@vanzandt-pc.mitre.org>,

j...@mitre.org (James R. Van Zandt) writes:
|> In article <36F2B94B...@iw.uni-halle.de>,
|> Olaf Poppe <olaf....@iw.uni-halle.de> wrote:
|> >I am trying to use the routine dsplp (LP-solver) from the SLATEC-library
|> >for my purposes.
|>
|> For the architectures I use (i386 and MIPS), I found it necessary to
snip

|> However, DSPLP would not work. I have not managed to track down the
|> problem. If you get it working, please let me know.
|>
depends on the compiler. Indeed r1mach must be changed. how to
do this is obvious from the comments there. simply set the four values
to those you know for your architecture and throw away these seemingly
machine independent octal notations
there is a further trouble with the example file and the driver.
you must include the common areas there and declare anything as double
use implicit double precision (a-h,o-z). make sure that anything is
compatible (check with lintfor e.g.) in type. i got it running this way.
may send it by email if required.
hope this helps
peter

0 new messages