--- pcx-1.1.18.orig/Ng-Peyton/Makefile +++ pcx-1.1.18/Ng-Peyton/Makefile @@ -11,7 +11,7 @@ #*********************************************************************** FORTRAN = ${FC} -FFLAGS = -O +FFLAGS = -O $(MOREFFLAGS) #FFLAGS = -O -u LIB_FILES = \ --- pcx-1.1.18.orig/SRC/main.c +++ pcx-1.1.18/SRC/main.c @@ -9,6 +9,8 @@ #include +#include +#include #include "main.h" #include "memory.h" #include "pre.h" --- pcx-1.1.18.orig/SRC/Makefile +++ pcx-1.1.18/SRC/Makefile @@ -12,14 +12,14 @@ FORTRAN = ${FC} ifdef MEX -CFLAGS = -O -D$(PCx_ARCH) -DMEX +CFLAGS = -O -D$(PCx_ARCH) -DMEX $(MORECFLAGS) #CFLAGS = -g -D$(PCx_ARCH) -DMEX else -CFLAGS = -O -D$(PCx_ARCH) +CFLAGS = -O -D$(PCx_ARCH) $(MORECFLAGS) #CFLAGS = -g -D$(PCx_ARCH) endif -FFLAGS = -O +FFLAGS = -O $(MOREFFLAGS) LFLAGS = -O include ../MAKEARCH/$(PCx_ARCH).make --- pcx-1.1.18.orig/debian/README.Debian +++ pcx-1.1.18/debian/README.Debian @@ -0,0 +1,7 @@ +PCx for DEBIAN +---------------------- + +PCx is configured to use the sparse Cholesky solver of Ng and Peyton, +not the (proprietary) IBM code WSSMP. + +James R. Van Zandt , Mon, 14 Sep 1998 20:28:40 -0400 --- pcx-1.1.18.orig/debian/changelog +++ pcx-1.1.18/debian/changelog @@ -0,0 +1,155 @@ +pcx (1.1.18-2) unstable; urgency=low + + * debian/control: build-depends on gfortran instead of g77 + + -- James R. Van Zandt Sat, 26 Jul 2008 22:38:52 -0400 + +pcx (1.1.18-1) unstable; urgency=low + + * New upstream release, "Fixed bug in memory allocation for array + min_phi in PCx.c" + + * SRC/main.c: #include stdlib.h and strings.h, to silence warnings about + implicit declarations. + + * debian/control: add Homepage field. Bump policy number to 3.8.0. + + * debian/rules: handle DEB_BUILD_OPTIONS "nostrip" and "parallel". + Don't ignore errors for "make clean". Use gfortran instead of f77. + + * debian/pcx.doc-base: move to section Science/Mathematics per doc-base + manual (closes:Bug#329964) + + -- James R. Van Zandt Wed, 23 Jul 2008 20:39:07 -0400 + +pcx (1.1.17-3) unstable; urgency=low + + * install the library and header files (thanks to Dennis Furey + , closes:Bug#377509) + + * debian/control: bump version to 3.7.2 (no changes needed) + + -- James R. Van Zandt Tue, 11 Jul 2006 20:42:06 -0400 + +pcx (1.1.17-2) unstable; urgency=low + + * debian/control: depend on g77 (closes:Bug#300394) + + -- James R. Van Zandt Tue, 22 Mar 2005 20:01:44 -0500 + +pcx (1.1.17-1) unstable; urgency=low + + * New upstream release dated 2004-05-11. + + * Add upstream changelog (from website) as + /usr/share/doc/pcx/changelog.html[.gz] plus text version + + * Register user guide with doc-base. + + * PCx.1: point to /usr/share/doc rather than /usr/doc, convert some + plain hyphens to \- or \[em]. + + * contol: versioned depends on debhelper + + -- James R. Van Zandt Sun, 13 Mar 2005 21:32:29 -0500 + +pcx (1.1.10-5) unstable; urgency=low + + * F2C/Makefile: eliminate "-DKR_headers " from CFLAGS to allow + compilation by gcc-3.4 (closes:Bug#273155, thanks to Andreas Jochens + and Kaare Hviid ). Use inherited + $CFLAGS, but include local additions in .c.o rule. + + * build: set -e. + + * debian/rules: call dh_installman instead of deprecated dh_installmanpages + + * debian/diversion.ex - delete unused example file + + * debian/control build-depends on c-shell|csh not just the virtual + package c-shell. + + -- James R. Van Zandt Sat, 25 Sep 2004 13:47:26 -0400 + +pcx (1.1.10-4) unstable; urgency=low + + * new maintainer email + + -- James R. Van Zandt Sun, 9 Dec 2001 21:36:49 -0500 + +pcx (1.1.10-3) unstable; urgency=low + + * debian/control: comma separate the build-deps + + -- James R. Van Zandt Mon, 23 Apr 2001 22:06:27 -0400 + +pcx (1.1.10-2) unstable; urgency=low + + * Build-Depends on c-shell (closes:Bug#94524) + + -- James R. Van Zandt Sat, 21 Apr 2001 09:28:27 -0400 + +pcx (1.1.10-1) unstable; urgency=low + + * New upstream release dated 2001-02-27 + * F2C/Makefile: add -DNON_UNIX_STDIO to CFLAGS to work around invalid + assumptions about the libc implementation. + + -- James R. Van Zandt Mon, 2 Apr 2001 21:02:51 -0400 + +pcx (1.1.9-7) unstable; urgency=low + + * debian/control: Move Build-Depend line to source section. + * Support debian-test. + + -- James R. Van Zandt Sun, 1 Apr 2001 20:01:02 -0400 + +pcx (1.1.9-6) unstable; urgency=low + + * build-depends on debhelper + + -- James R. Van Zandt Sun, 3 Sep 2000 11:46:56 -0400 + +pcx (1.1.9-5) unstable; urgency=low + + * Allow other packages to also supply the mps(5) manual page, using the + alternatives mechanism. + + -- James R. Van Zandt Sat, 23 Oct 1999 10:52:06 -0400 + +pcx (1.1.9-4) unstable; urgency=low + + * Create /usr/doc/pcx symlink. + + -- James R. Van Zandt Tue, 14 Sep 1999 21:50:27 -0400 + +pcx (1.1.9-3) unstable; urgency=low + + * Update to FHS + + -- James R. Van Zandt Sat, 4 Sep 1999 12:36:49 -0400 + +pcx (1.1.9-2) unstable; urgency=low + + * Link against glibc2.1 + + -- James R. Van Zandt Thu, 2 Sep 1999 19:54:52 -0400 + +pcx (1.1.9-1) unstable; urgency=low + + * New upstream release: fixed a memory leak. The upstream authors did + not bump the version number for this minor change (exchanging two + lines of code). Judging from the older versions remaining on their + ftp site, this is the ninth version of PCx, so I have assigned the + above version number to the Debian package. + + -- James R. Van Zandt Mon, 9 Nov 1998 20:03:38 -0500 + +pcx (1.1-1) unstable; urgency=low + + * SRC/parameters.c: insert #include , for declaration of atof(). + * Initial Release. Added manpages: PCx.1 mps.5 + + -- James R. Van Zandt Mon, 14 Sep 1998 20:28:40 -0400 + + --- pcx-1.1.18.orig/debian/compat +++ pcx-1.1.18/debian/compat @@ -0,0 +1 @@ +4 --- pcx-1.1.18.orig/debian/dirs +++ pcx-1.1.18/debian/dirs @@ -0,0 +1 @@ +usr/bin --- pcx-1.1.18.orig/debian/changelog-upstream.html +++ pcx-1.1.18/debian/changelog-upstream.html @@ -0,0 +1,206 @@ + + + + PCx: Releases and Change Log + + + + + + +

PCx

+ +

New Versions and Release Dates

+ +

5/15/96: Version beta-1.0 announced.
+10/18/96: Version beta-2.0 announced.
+3/7/97: Version 1.0 announced.
+11/2/97: Version 1.1 announced.
+1/26/98: Windows Version 1.1 announced.
+8/6/98: AMPL interface and PCxGUI (Java interface) announced.
+

+ +
+ +

Detailed Change Log for PCx (updated 3/19/04)

+ + + + + + + + + + + + + + + + + + + + + + +
DateChange
5/15/96Initial Release: version beta-1.0
5/17/96Added Solaris executable and timing code
5/28/96Added #include stdlib.h to readmps.c for Linux
7/09/96Fixed bug in presolve.c
+ + + + + + + + + + + + + + + + + + +
DateChange
10/18/96Release of version beta-2.0:
... Includes dense column handling, many memory leak and bug fixes.
11/25/96New ComputeADAT routine: greatly improves efficiency on some problems
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DateChange
3/7/97Release of version 1.0:
... Includes higher-order corrections, scaling, bug fixes.
6/25/97Some memory leaks corrected
8/18/97Fixed various minor leaks and bugs
...Provided cleaner interface to sparse Cholesky solvers
9/22/97Fixed various leaks and changed input routine to always seek MPS file in current + directory first
10/20/97Fixed a few bugs in documentation
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DateChange
11/2/97Release of version 1.1:
...Includes hooks to incorporate alternative linear equations solvers, including WSSMP
12/8/97Computational results added for WSSMP and Ng-Peyton versions
1/26/98PCx 1.1 for Windows released
3/01/982 minor memory bugs fixed, new linux version built
3/10/98PCx 1.1 for Windows - parameter file bug fixed
6/10/98Added DOS version 1.1, unified parameter.c for DOS, Unix, all-C versions
8/6/98AMPL interface and PCxGUI (Java interface) released.
8/12/99Unix and C versions changed to accept problems with zero rows in the constraint + matrix, and to improve efficiency of  initial matrix ordering routines. (We are + working on improvements to the dense column handling, which will be released shortly.)
9/13/99Bug fix in PCx Unix and  C versions. Bug affected instances with bound + constraints in whch Gondzio correctors were used.
12/14/00Fixed readmps.c to avoid core dumping on incorrect MPS input files.
2/27/01A few fixes in line search heuristic and MPS file handling; affects only a few cases.
12/23/01Fixed handling of "MI" in the BOUNDS section of MPS files; affects only + cases in which MI variables have upper bounds other than 0.
2/26/02Updated PCx-AMPL interface to fix some bugs in the interface, and + document the installation process more thoroughly. Also created + precompiled executables for Intel Solaris, Sun Solaris, and Linux.
2/28/02Fixed bug in preprocessor for bounded variables in a singleton row.
11/4/03Fixed another bug in preprocessor, again concerning row singletons.
11/5/03Updated PCx-C (C version) to use latest version of fortran-to-C utility + f2c.
3/19/04Fixed minor bugs concerning handling of upper bounds (in PCx.c) and + scaling (in scale.c). Unified the unix and Matlab-ready distributions.
5/11/04Fixed hash.c to allow more than 1.3 million rows and columns; redefined + allowable hash table sizes.
+ +
+ +

 

+ + +

[ PCx Home Page | Optimization +Technology Center | NEOS Server | NEOS Guide | NEOS Tools ]

+ + --- pcx-1.1.18.orig/debian/prerm +++ pcx-1.1.18/debian/prerm @@ -0,0 +1,39 @@ +#! /bin/sh +# prerm script for pcx +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/doc/packaging-manual/ + +case "$1" in + remove|upgrade|deconfigure) + update-alternatives --remove mps.5.gz \ + /usr/share/man/man5/mps-pcx.5.gz + + ;; + failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- pcx-1.1.18.orig/debian/pcx.doc-base +++ pcx-1.1.18/debian/pcx.doc-base @@ -0,0 +1,13 @@ +Document: pcx-user-guide +Title: PCx User Guide +Author: Joseph Czyzyk, Sanjay Mehrotra, Michael Wagner, and Stephen J. Wright +Abstract: We describe the code PCx, a primal-dual interior-point code + for linear programming. Information is given about problem + formulation and the underlying algorithm, along with instructions for + installing, invoking, and using the code. Computational results on + standard test problems are tabulated. The current version number is + 1.1. +Section: Science/Mathematics + +Format: postscript +Files: /usr/share/doc/pcx/PCx-user.ps.gz --- pcx-1.1.18.orig/debian/PCx.1 +++ pcx-1.1.18/debian/PCx.1 @@ -0,0 +1,156 @@ +.\" -*- nroff -*- +.TH PCX 1 +.SH NAME +PCx \- primal-dual interior-point code for linear programming +.SH SYNOPSIS +.B PCx +\fIprobname\fP[.mps] +.SH DESCRIPTION +This manual page documents briefly the \fBPCx\fP command. +\fBPCx\fP has more detailed documentation in PostScript format; see [1]. +.PP +\fBPCx\fP is a freely available primal-dual interior-point code for linear +programming. It implements Mehrotra's predictor-corrector algorithm, +the algorithm that forms the basis of most existing interior-point +codes for general linear programming. The major computational +operation \[em] solution of a linear system with a large, sparse positive +definite coefficient matrix \[em] is performed with the sparse Cholesky +package of Ng and Peyton (Oak Ridge National Laboratory), with minor +modifications to handle small pivot elements. +.PP +\fBPCx\fP accepts any valid linear program that can be specified in +the MPS format \[em] see mps(5). \fBPCx\fP does not solve integer linear +programs. +.SH OPTIONS +\fBPCx\fP has no command-line options. +.SH PARAMETERS +\fBPCx\fP allows many parameters and options to be set by the user. +These quantities are read from a specifications file. If the name of +the MPS input file is \fIprobname.mps\fP, \fBPCx\fP looks for the +following files, in order: +.nf + \fIprobname\fP.spc + \fIprobname\fP.specs + spc + specs + PCx.specs +.fi +If more than one of these files exist, \fBPCx\fP uses the first file +in the list and ignores the others. +.PP +The following keywords can be used in the specifications file, +together with their default settings. The file should contain one +such keyword per line, together with its corresponding numerical value +or option, if appropriate. The file is processed sequentially from +beginning to end, so the effect of any line can be undone by a later +line. For keywords with a yes/no argument, omission of the argument +will be taken to mean \fByes\fP. Note that the default setting is not +necessarily \fByes\fP. Case is not significant in keywords. +.sp +.IP "\fBmin\fP [ \fByes\fP | \fBno\fP ]" +Minimize the objective (default). +.IP "\fBmax\fP [ \fByes\fP | \fBno\fP ]" +Maximize the objective. +.IP \fBinputdirectory\fP +If \fBPCx\fP is to search for the MPS input files in another +directory, in addition to the current working directory, name this +other directory here. Include a trailing "/". \fBPCx\fP always looks +first in the current working directory. The output and history files +are always written to the working directory. +.IP "\fBsolution\fP [ \fByes\fP | \fBno\fP ]" +Specify whether to write a solution file \fIprobname.out\fP in the +current working directory. Default: yes. +.IP "\fBhistory\fP [ \fByes\fP | \fBno\fP ]" +Specify whether to write a history file \fIprobname\fP.log in the +working directory. Default: yes. +.IP "\fBobjectivename\fP \fIname\fP" +Request the objective cost vector to be the specific row \fIname\fP in +\fIprobname.mps\fP. Default: the first row of type "N" in +\fIprobname.mps\fP is taken to be the objective. +.IP "\fBrhsname\fP \fIname\fP" +Request the right-hand side to be the specific column \fIname\fP in +\fIprobname.mps\fP. Default: the first RHS encountered in the MPS file. +.IP "\fBrangename\fP \fIname\fP" +Request the range to be the specific column \fIname\fP in +\fIprobname.mps\fP. Default: the first RANGE encountered in the MPS file. +.IP "\fBboundname\fP \fIname\fP" +Request the bound to be the specific column \fIname\fP in +\fIprobname.mps\fP. Default: the first BOUND in the MPS file. +.IP "\fBpresolve\fP [ \fByes\fP | \fBno\fP ]" +Specify whether or not to perform presolving. The purpose of +presolving is to detect and handle redundant information, producing a +smaller problem to be solved by the actual linear programming +algorithm [2]. Default: yes. +.IP "\fBpreprocess\fP [ \fByes\fP | \fBno\fP ]" +Same as \fPpresolve\fP. +.IP "\fBcachesize\fP \fIvalue\fP" +Specify the size of the cache on the machine, in kilobytes. Any value +in the range 0-2048 is acceptable. Specify 0 for Cray machines. This +parameter is used by the Ng-Peyton sparse Cholesky code. Default: 16. +.IP "\fBcenterexp\fP \fIvalue\fP" +Specify the exponent to be used for calculation of the centering +parameter sigma. Any real value in the range 1.0-4.0 is allowable. +Default: 3.0. +.IP "\fBopttol\fP \fIvalue\fP" +Specify an optimality tolerance. Default: 1.e-8. +.IP "\fBprifeastol\fP \fIvalue\fP" +Specify a primal feasibility tolerance. Default: 1.e-8. +.IP "\fBdualfeastol\fP \fIvalue\fP" +Specify a dual feasibility tolerance. Default: 1.e-8. +.IP "\fBunrollinglevel\fP \fInum\fP" +Specify the level of loop unrolling. Allowable values are 1, 2, 4, +and 8. This parameter is used only in the Ng-Peyton Cholesky code. +Default: 4. +.IP "\fBiterationlimit\fP \fInum\fP" +Specify an upper limit on the number of iterations. The algorithm +terminates in \fBsuboptimal\fP status if it exceeds this many +iterations without satisfying any of the termination conditions. Any +positive integer is allowable. Default: 100. +.IP "\fBrefinement\fP [ \fByes\fP | \fBno\fP ]" +Specify whether to perform preconditioned conjugate gradient +refinement of the computed solution to the linear system if it has a +relative residual larger than the parameter \fBprifeastol\fP. +Default: no. +.IP "\fBstepfactor\fP \fIvalue\fP" +Specify a value in the range (0, 1) that is used in Mehrotra's +adaptive steplength heuristic from [3]. Default: 0.9. +.IP "\fBscaling\fP [ \fByes\fP | \fBno\fP ]" +Specify whether or not row and column scaling [4] is performed on the +constraint matrix. Default: yes. +.IP "\fBHOCorrections\fP [ \fByes\fP | \fBno\fP ]" +Specify whether Gondzio's higher-order corrections [5] are used to enhance +the search direction. Default: yes. +.IP "\fBMaxCorrections\fP \fIvalue\fP" +If \fBHOCorrections\fP=\fByes\fP, this parameter is an upper limit on +the number of Gondzio's higher-order corrections allowed at each +iteration. If \fIvalue\fP=0, the maximum is determined automatically +by \fBPCx\fP according to the relative cost of factorization and solve +operations. if \fBHOCorrections\fP=\fBno\fP, this parameter is ignored. +Default: 0. +.SH REFERENCES +[1] J. Czyzyk et al., "PCx User Guide (Version 1.1)", Optimization +Technology Center, Technical Report OTC 96/01, November 3, 1997. +.br +[2] E. D. Andersen and K. D. Andersen, "Presolving in linear +programming", Mathematical Programming, 71 (1995), pp. 221-245. +.br +[3] S. Mehrotra, "On the implementation of a primal-dual interior +point method", SIAM Journal on Optimization, 2 (1992), pp 575-601. +.br +[4] A. R. Curtis and J. K. Reid, "On the automatic scaling of matrices +for Gaussian elimination", J. Inst. Maths Applics, 10 (1972), pp. 118-124. +.br +[5] J. Gondzio, "Multiple centrality corrections in a primal-dual +method for linear programming", Computational Optimization and +Applications, 6 (1996), pp. 137-156. +.SH "SEE ALSO" +\fI/usr/share/doc/pcx/PCx-user.ps.gz\fP, mps(5) +.SH AUTHOR +This manual page was written by James R. Van Zandt , +for the Debian GNU/Linux system (but may be used by others). +\" LocalWords: PCx probname mps Mehrotra's Ng spc boundname cachesize min RHS +\" LocalWords: centerexp objectivename rhsname rangename presolve presolving +\" LocalWords: preprocess inputdirectory opttol prifeastol dualfeastol num al +\" LocalWords: unrollinglevel iterationlimit stepfactor steplength Gondzio's +\" LocalWords: HOCorrections MaxCorrections Czyzyk OTC pp Mehrotra Inst Maths +\" LocalWords: Applics Gondzio usr doc pcx ps gz mv com --- pcx-1.1.18.orig/debian/postinst +++ pcx-1.1.18/debian/postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for pcx +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/doc/packaging-manual/ +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + update-alternatives --install \ + /usr/share/man/man5/mps.5.gz mps.5.gz \ + /usr/share/man/man5/mps-pcx.5.gz 40 + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- pcx-1.1.18.orig/debian/copyright +++ pcx-1.1.18/debian/copyright @@ -0,0 +1,95 @@ +This package was debianized by James R. Van Zandt jrv@debian.org on +Mon, 14 Sep 1998 20:28:40 -0400. + +It was downloaded on Thu Jul 24, 2008 from + http://www.mcs.anl.gov/otc/Tools/PCx/ + +The PCx authors sometimes change the sources without bumping the +version number. This package was based on sources dated Jan 10, 2006. + +Comment by the Debian maintainer: + + This package is in "non-free" because the PCx license (below) + does not meet paragraph 1 of the Debian Free Software + Guidelines: it can be distributed for free (e.g. via ftp + archives), but incorporating PCx into a product for sale + requires a commercial purchase. The notification requirement + does apply to vendors who want to include the PCx package in a + cdrom for sale. The sale price for PCx is $1,000 a copy as of + Oct. 1, 1998. Discounts for multiple copy purchases are + available and may be applicable. + + +Copyright: + +<***************************************************************** + + COPYRIGHT NOTIFICATION + +***************************************************************** + +(C) COPYRIGHT 1996 UNIVERSITY OF CHICAGO + +***************************************************************** + +This software discloses material protectable under copyright laws of +the United States. Permission is hereby granted to use, reproduce, +prepare derivative works, and redistribute to others at no charge, +provided that the original copyright notice, Government license and +disclaimer are retained and any changes are clearly documented; +however, any entity desiring permission to incorporate this software +or a work based on the software into a product for sale must contact +Paul Betten at the Industrial Technology Development Center, Argonne +National Laboratory. + + +This software was authored by: + +JOSEPH CZYZYK czyzyk@mcs.anl.gov (630) 252-4279 +Mathematics and Computer Science Division +Argonne National Laboratory, Argonne IL 60439-4844 +FAX: (630) 252-5986 + +SANJAY MEHROTRA mehrotra@iems.nwu.edu (847) 491-3155 +Department of Industrial Engineering and Management Science, +Northwestern University, Evanston IL 60208-3119 +FAX: (847) 491-8005 + +STEPHEN J. WRIGHT wright@mcs.anl.gov (630) 252-7847 +Mathematics and Computer Science Division +Argonne National Laboratory, Argonne IL 60439-4844 +FAX: (630) 252-5986 + +Any questions or comments on the software may be directed to one of +the authors. + +***************************************************************** + +ARGONNE NATIONAL LANORATORY (ANL), WITH FACILITIES IN THE STATES OF +ILLINOIS AND IDAHO, IS OWNED BY THE UNITED STATES GOVERNMENT, AND +OPERATED BY THE UNIVERSITY OF CHICAGO UNDER PROVISION OF A CONTRACT +WITH THE DEPARTMENT OF ENERGY. + +***************************************************************** + + GOVERNMENT LICENSE AND DISCLAIMER + +***************************************************************** + +NOTICE: The Government is granted for itself and others acting on its +behalf a paid-up, non-exclusive, irrevocable worldwide license in this +data to reproduce, prepare derivative works, and perform publicly and +display publicly by or on behalf of the Government. The Government +license may be modified beginning mm-dd-yy to provide greater rights +to the Government. NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY +THEREOF, NOR THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES +MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY +OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY +INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS +THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. + +***************************************************************** + +LICENSING INQUIRES MAY BE DIRECTED TO THE INDUSTRIAL TECHNOLOGY +DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY. + --- pcx-1.1.18.orig/debian/control +++ pcx-1.1.18/debian/control @@ -0,0 +1,22 @@ +Source: pcx +Section: non-free/math +Priority: optional +Maintainer: James R. Van Zandt +Build-Depends: debhelper (>=4.0), csh | c-shell, gfortran +Standards-Version: 3.8.0 +Homepage: http://www.mcs.anl.gov/otc/Tools/PCx/ + +Package: pcx +Architecture: any +Depends: ${shlibs:Depends} +Description: primal-dual interior-point code for linear programming + PCx is a freely available primal-dual interior-point code for linear + programming. It implements Mehrotra's predictor-corrector algorithm, + the algorithm that forms the basis of most existing interior-point + codes for general linear programming. The major computational + operation--solution of a linear system with a large, sparse positive + definite coefficient matrix--is performed with the sparse Cholesky + package of Ng and Peyton (Oak Ridge National Laboratory), with minor + modifications to handle small pivot elements. PCx does not solve + integer programming problems. + --- pcx-1.1.18.orig/debian/rules +++ pcx-1.1.18/debian/rules @@ -0,0 +1,117 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + +CFLAGS = -g -W -Wno-uninitialized -Wwrite-strings -Wpointer-arith -I../F2C +FFLAGS = -g -W -Wno-uninitialized -I../F2C + + +INSTALL = install +INSTALL_FILE = $(INSTALL) -p -o root -g root -m 644 +INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755 +INSTALL_SCRIPT = $(INSTALL) -p -o root -g root -m 755 +INSTALL_DIR = $(INSTALL) -p -d -o root -g root -m 755 + +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 + FFLAGS += -O0 +else + CFLAGS += -O3 + FFLAGS += -O3 +endif +ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # compile the package. + MOREFFLAGS="$(FFLAGS)" \ + MORECFLAGS="$(CFLAGS)" \ + FC=gfortran \ + ./build + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # clean up after the build process. + [ ! -f Makefile ] || $(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # install the package into debian/pcx. + $(INSTALL_PROGRAM) PCx `pwd`/debian/pcx/usr/bin + + +# Build architecture-independent files here. +binary-indep: +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs debian/changelog-upstream.html + dh_installdocs README README.mex DOC/PCx-user.ps.gz + dh_installexamples mps/25fv47.mps mps/afiro.mps debian/README.examples + dh_install SRC/libPCx.a usr/lib + dh_install */*.h usr/include/pcx +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman debian/PCx.1 debian/mps-pcx.5 + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl +# dh_python +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- pcx-1.1.18.orig/debian/rules-orig +++ pcx-1.1.18/debian/rules-orig @@ -0,0 +1,94 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatibility version to use. +export DH_COMPAT=3 + + + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + CFLAGS += -g +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + #/usr/bin/docbook-to-man debian/pcx.sgml > pcx.1 + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + -$(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/pcx. + $(MAKE) install DESTDIR=$(CURDIR)/debian/pcx + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs + dh_installexamples + dh_installmenu +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit + dh_installcron + dh_installman + dh_installinfo +# dh_undocumented + dh_installchangelogs + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- pcx-1.1.18.orig/debian/README.examples +++ pcx-1.1.18/debian/README.examples @@ -0,0 +1,11 @@ +# PCx expects the name of the input file on the command line. +# output goes to stdout. +# +# Run PCx on the example input files like this: +PCx afiro.mps |less + +gunzip 25fv47.mps.gz +# here, PCx takes about 2.5 sec on my 300 MHz Pentium II: +PCx 25fv47.mps |less + + --- pcx-1.1.18.orig/debian/mps-pcx.5 +++ pcx-1.1.18/debian/mps-pcx.5 @@ -0,0 +1,247 @@ +.\" -*- nroff -*- +.\" Man page by Jim Van Zandt +.TH MPS 5 "13 September 1998" "Debian GNU Linux" +.SH NAME +mps \- file format for linear programming problems +.SH DESCRIPTION +The MPS file format was introduced for an IBM program, +but has also been accepted by most subsequent linear programming codes. + +One standard form for a linear programming problem is as follows: +.nf +minimize + c'x +under the constraints + Ax = b +and x >= 0 +.fi +where x is a vector of unknowns, c is the cost (or objective) vector, +c' is the transpose of c, and A is a constraint matrix with m rows +and n columns. +.PP +Alternately, the constraints may be defined as +.nf + Ax < b +.fi +and the goal may be to maximize c'x. +Unfortunately, nothing in the MPS file format specifies whether the +objective is to be minimized or maximized, and different programs have +different defaults for this. On the other hand, it is trivial to +restate a maximization problem as a minimization problem: just reverse +the sign of each element of c. +.PP +The feasible region described by the constraints is a polytope, or +simplex, and at least one member of the solution set lies at a vertex +of this polytope. +.PP +The MPS file format is column-oriented, designed for use with punched +cards. All numerical values should include a decimal point. MPS +files are typically all upper-case, though many MPS readers accept +mixed case anywhere except the headers, and some accept mixed case +anywhere. The file +layout is suggested in the following table: +.sp +.nf +Field: 1 2 3 4 5 6 +Columns: 2-3 5-12 15-22 25-36 40-47 50-61 + + NAME problem_name + ROWS + type name + COLUMNS + col_name row_name value row_name value + RHS + rhs_name row_name value row_name value + RANGES + range_name row_name value row_name value + BOUNDS + type bound_name col_name value + ENDATA +.fi +.sp +Here are the details on each of the seven sections: +.SS NAME +This section consists of a single card, with "NAME" in columns 1-4 and +the title of the problem in columns 15-22. +.SS ROWS +This section describes the rows of the constraint matrix, and the +objective function. It starts with a card with "ROWS" in columns +1-4. There is an additional card for each row in the constraint +matrix, plus one for the objective function. Each of these cards has +a type in column 2 or 3, as follows: +.IP \fBE\fP +Equality +.IP \fBL\fP +Less than or equal +.IP \fBG\fP +Greater than or equal +.IP \fBN\fP +no restriction. The first \fBN\fP-type row encountered is regarded as +the objective, unless it is explicitly identified in the control +commands. +.PP +Linear combinations of rows may also be specified. In this case the +above row types are denoted respectively by the codes \fBDE\fP, +\fBDL\fP, \fBDG\fP, and \fBDN\fP, in columns 2-3. Field 2 contains the +linear combination rowname. Fields 3-6 contain the rowname(s) (fields +3 and 5) and their multiplier(s) (fields 4 and 6) which form the +combination. A linear combination of three or more rows requires +additional cards, following the first card contiguously. In the +additional cards field 1 is empty. (The right-hand sides of a linear +combination row must be specified in the RHS section, described +below.) +.PP +The order of the cards in the ROWS section is not significant. +.SS COLUMNS +This section defines the names of the variable, the coefficients of +the objective, and all the nonzero matrix elements Aij. The section +starts with a card with COLUMNS in columns 1-7, followed by data cards +which may have one or two matrix elements per card. The data are +entered column by column, and all the data cards for the nonzero +entries in each column must be grouped together contiguously. Within +a column, the order of the entries is irrelevant. Rows not mentioned +are assumed to have coefficients of zero. +.PP +The data card has the column label in field 2 (columns 5-12), the row +label in field 3 (columns 15-22), and the value of the coefficient Aij +(or cj) in field 4 (columns 25-36). Remember that the coefficient +should include a decimal point. If more than one nonzero row entry +for the same column is to be made on the card, then field 5 (columns +40-47) has the next row label and field 6 (columns 50-61) has its +corresponding coefficient value. It should be emphasized that the use +of fields 5 and 6 is optional. +.PP +There is no need to specify columns for slack variables; this is taken +care of automatically having defined the row types. +.PP +A mixed integer program requires the specification of which variables +are required to be integer. Markers are placed in the COLUMNS section +to indicate the start and end of a group of integer variables. The +start marker has its name in field 2, "MARKER" in field 3, and +"INTORG" in field 5. The end marker has its name in field 2, "MARKER" +in field 3, and "INTEND" in field 5. +.SS RHS +This section supplies the elements of the right-hand side. The section +starts with a card with "RHS" in columns 1-3. Since the right-hand +side can be regarded as another column of the matrix, the data cards +specifying the nonzero entries are in exactly the same format as the +COLUMNS data cards, except that field 2 (columns 5-12) has a label for the +right-hand side. More than one right-hand side may thus be specified +in this section; the one to be used for the current run is specified +separately. Rows not mentioned in the RHS section are assumed to have +a right-hand-side of zero. +.SS "RANGES (optional)" +The RANGES section is for constraints of the form +.br + h\fIi\fP <= A\fIi\fP1 x1 + A\fIi\fP2 x2 + ... A\fIi\fPn xn <= u\fIi\fP +.br +i.e. both an upper and lower bound exist for the row. The range of +the constraint is +.br + r\fIi\fP = u\fIi\fP - h\fIi\fP +.br +The value of u\fIi\fP or h\fIi\fP is specified in the RHS section data, and the +value of r\fIi\fP is specified in the RANGES section data. This +information, plus the row type specified in the ROWS section, defines +the bounds u\fIi\fP and h\fIi\fP. +.PP +If b\fIi\fP is the number entered in the RHS section and r\fIi\fP is the number +specified in the RANGES section, the u\fIi\fP and h\fIi\fP are defined as follows: +.sp +.nf +Row type Sign of r\fIi\fP Lower limit, h\fIi\fP Upper limit, u\fIi\fP +G (>=) + or - b\fIi\fP b\fIi\fP + |r\fIi\fP| +L (<=) + or - b\fIi\fP - |r\fIi\fP| b\fIi\fP +E (=) + b\fIi\fP b\fIi\fP + |r\fIi\fP| +E (=) - b\fIi\fP - |r\fIi\fP| b\fIi\fP +.fi +.sp +The section starts with a card with "RANGES" in columns 1-6. The data +cards specifying the values of r\fIi\fP are in the same format as the +COLUMNS data cards, except field 2 (columns 5-12) has a label for the +column of ranges (which can also be regarded as another column of the +matrix). More than one column of ranges may be specified, but all the +data cards for each column must be grouped together contiguously. +.SS "BOUNDS (optional)" +The BOUNDS section specifies bounds on the variables. This is an +alternative to defining extra rows in the matrix. The section starts +with a card with "BOUNDS" in columns 1-6. Each card has a type code +in field 1 (columns 2-3). The type codes, and the resulting bounds, +are as follows: +.IP \fBLO\fP +Lower bound: \fIvalue\fP <= x (< infinity) +.IP \fBUP\fP +Upper bound: (0 <=) x <= \fIvalue\fP +.IP \fBFX\fP +Fixed variable: x = \fIvalue\fP +.IP \fBFR\fP +Free variable +.IP \fBMI\fP +Lower bound is minus infinity: \-infinity <= x (<= 0) +.IP \fBPL\fP +upper bound is plus infinity (default): (0 <=) x < infinity +.IP \fBBV\fP +Binary variable: x = 0 or 1 +.sp +Field 2 +(columns 5-12) specifies, a bounds row name. Field 3 (columns 15-22) +specifies a column label \fIj\fP, corresponding to the variable +x\fIj\fP. +Field 4 (columns 25-36) specifies a bound value b\fIj\fP. Fields 5 +and 6 are blank. +.PP +When bounds are not specified for a column, or the entire BOUNDS +section is omitted, the usual bounds, 0 <= xi <= infinity, are +assumed. More than one bound for a given variable may be entered, +i.e. both a lower and an upper bound. When only one is specified the +other is assumed to be one of the default values of 0 or infinity, as +shown in parentheses above. +.SS ENDATA +This section consists of a single card with "ENDATA" in columns 1-6. +Note the odd spelling. +.SH EXAMPLE +Suppose we want to minimize +.br + XONE + 4 YTWO + 9 ZTHREE (COST) +.br +subject to +.nf + XONE + YTWO <= 5 (LIM1) + XONE + ZTHREE >= 10 (LIM2) + - YTWO + ZTHREE = 7 (MYEQN) + 0 <= XONE <= 4 + -1 <= YTWO <= 1 +.fi +.sp +This problem is represented by the following MPS file: +.sp +.\" 22222222 33333333 444444444444 55555555 666666666666 +.nf +NAME TESTPROB +ROWS + N COST + L LIM1 + G LIM2 + E MYEQN +COLUMNS + XONE COST 1 LIM1 1 + XONE LIM2 1 + YTWO COST 4 LIM1 1 + YTWO MYEQN \-1 + ZTHREE COST 9 LIM2 1 + ZTHREE MYEQN 1 +RHS + RHS1 LIM1 5 LIM2 10 + RHS1 MYEQN 7 +BOUNDS + UP BND1 XONE 4 + LO BND1 YTWO \-1 + UP BND1 YTWO 1 +ENDATA +.fi +.sp +.SH "SEE ALSO" +http://www.mcs.anl.gov/home/otc/Guide/faq/linear-programming-faq.html +.br +http://www.mcs.anl.gov/otc/Server/lp/mps/mps.html +.\".SH NOTES