@@ -4,8 +4,147 @@ Documentation is currently being maintained at the URL:
4
4
5
5
http://cgm.cs.mcgill.ca/~avis/C/lrs.html
6
6
-----------------------------------------------------------------------------
7
+
8
+ Version 7.1
9
+ manual: http://cgm.cs.mcgill.ca/~avis/C/lrslib/USERGUIDE71.html
10
+
11
+ 2020.10.17
12
+
13
+ Memory leak in countonly option fixed for mplrs/lrs.
14
+
15
+ 2020.5.25
16
+ Version 7.1 is a major revision completing the move to an all C library begun
17
+ in 7.0 which was work in progress and has been removed from distribution.
18
+
19
+ Major changes to lrs:
20
+ 1. redund function is now performed by lrs via options, but legacy redund maintained
21
+ 2. extract option to extract columns from the input especially with linearities
22
+ 3. hvref makes a cross reference list between H and V representations
23
+
24
+ Major changes to mplrs:
25
+ 1. Temporary files no longer used for communicating with workers.
26
+ 2. Parallel version of redund is now available
27
+
28
+ Thanks to David Bremner and Jerry James for advice, patches and other help!
29
+
30
+ Details below
31
+
32
+ 2020.5.19
33
+
34
+ redund binaries are no longer produced and lrs does redund
35
+ functioning via the redund option. For a standard redund run (ie all lines checked)
36
+ set up a link:
37
+ %ln -s lrs redund and if needed %ln -s lrs1 redund1 etc. for single arithmetic
38
+ Now no options are needed and
39
+
40
+ % redund filename
41
+
42
+ will remove all redundant inequalities
43
+
44
+ In mplrs this can be achieved by:
45
+
46
+ % mpirun -np <procs> mplrs -redund filename
47
+
48
+ 2020.4.27
49
+
50
+ Changes in mplrs relative to 7.0:
51
+ 1. All C++ code removed or rewritten in C; C++ compiler no longer required.
52
+ 2. mplrs uses the new lrslib API (2019.11.8) instead of temporary files for
53
+ parallel jobs.
54
+ 3. Support for parallel redund runs using the redund option in input files.
55
+ 4. Compiler warnings removed.
56
+ 5. Additional warning and informational messages printed when relevant.
57
+ 6. New option -redund, for redund runs without adding option to file.
58
+ 7. Avoid duplicate output lines that were possible on an overflow in
59
+ hybrid mode.
60
+ 8. Fix a rare bug that could omit output lines at the start of a run.
61
+
62
+ 2020.2.5
63
+ The extract option is a preprocessing step to remove linearities (if any) and resize
64
+ the A matrix using standard lrs processing, which is output as a valid lrs input file.
65
+ The resulting file will not contain any equations but may not be full dimensional.
66
+ Options in the input file are stripped.
67
+ User can specify the cols to retain (where this possible by linear independence).
68
+ If there are no linearities in the input file the columns in the option are retained
69
+ and the other ones are deleted. This is useful for projecting a V-representation.
70
+
71
+ extract 0
72
+
73
+ retains columns in order 1,2,...,n
74
+
75
+ extract k i1 .. ik
76
+
77
+ retains columns in order i1,...,ik then the missing 1..n as necessary
78
+ Column 0 is always retained.
79
+
80
+ Use redund to remove redundancies from the output as necessary.
81
+ A full lrs run is not performed, however output can be piped:
82
+
83
+ % lrs file | redund | lrs
84
+
85
+ 2019.12.30
86
+
87
+ hvref makes a cross reference list between H and V reps
88
+ Usage (same for ext file):
89
+
90
+ Add printcobasis and incidence options to cube.ine
91
+
92
+ % lrs cube.ine cube.ext
93
+ % xref cube.ext
94
+
95
+ Edit the output file cube.ext.x so that the second line contains two integers
96
+
97
+ rows maxindex
98
+
99
+ where rows >= # output lines in cube.ext.x
100
+ maxindex >= # input lines in cube.ine
101
+
102
+ or just use 0 0 and the program will tell you which values to use
103
+
104
+ % hvref cube.ext.x
105
+
106
+
107
+ 2019.11.8
108
+
109
+ New redund option causes lrs to perform redund function:
110
+
111
+ redund start end
112
+
113
+ limits redundancy checking to input rows numbered start,...,end.
114
+ Defaults start=1 and end=m is legacy redund and can be obtained by
115
+
116
+ redund 0 0
117
+
118
+ lrs_main has been rewritten as lrsv2_main to avoid temporary files in mplrs.
119
+ It now passes pointers to P and Q back to mplrs and is called 3 times
120
+ according to the stage flag.
121
+
122
+ stage=0 performs problem setup and reads the input file
123
+ stage=1 performs reverse search or redund function
124
+ stage=2 performs clean up and closes files
125
+
126
+ 2019.6.13
127
+
128
+ If lrs is compiled with -DLRS_QUIET lrs produces an ouput file with only the data
129
+ between the begin and end lines, ie. a matrix of the V or H representation.
130
+ The only exception is if the input is a V-rep and output has linearities
131
+ in which case line one has the linearity information
132
+
133
+ --------------------------------------------------------------------------------------
134
+ 2019.1.5
135
+ Various pivot rules are implemented for solving LPs using variations of the lponly option.
136
+ To get pivot counts correct it is best to use lrsgmp at least for now
137
+
138
+ lponly default, currently Dantzig's rule
139
+ lponly_b Bland's rule, which is used for vertex enumeration
140
+ lponly_d Dantzig's rule, the only rule used up to Version 7.1
141
+ lponly_r random edge rule
142
+ lponly_rd alernates random edege and Dantzig
143
+
144
+ -----------------------------------------------------------------------------
145
+
7
146
2018.7.1
8
- Version 7.0 (Beta release) (lrslib-070)
147
+ Version 7.0 (lrslib-070)
9
148
10
149
User's guide: http://cgm.cs.mcgill.ca/~avis/C/lrslib/USERGUIDE70.html
11
150
0 commit comments