1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
USAGE: change_cost [options] groebner_file new_cost_file
DESCRIPTION:
change_cost is a program for recomputing the reduced Groebner basis of
a toric ideal with respect to a term ordering with modified
weights. This can be used for varying the cost function in integer
programming (see the help for solve_IP for more information).
The program simply restarts Buchbergers algorithm on an already
computed toric ideal using the modified term ordering.
FILE FORMAT:
The first input file has to be a GROEBNER file; the second input file
should to be a NEW_COST file. For convenience, also MATRIX files are
accepted as second input files. For their format see the help for the
solve_IP or the toric_ideal program.
change_cost writes the new Groebner basis into a GROEBNER file named
like the second input file with extensions replaced by
.GB.<alg>
where GB stands for GROEBNER and <alg> is the abbreviation of the
algorithm used for computing the input GROEBNER file (see the help for
solve_IP or toric_ideal for an explaination).
A GROEBNER file looks as follows:
GROEBNER
computed with algorithm:
<algorithm name abbreviation> (* abbreviations as above *)
from file(s): (* the following four lines are
<name of respective MATRIX file> optional *)
computation time:
<computation time in seconds>
term ordering:
elimination block
<number of elimination variables>
<LEX / DEG_LEX (* only if number of elimination
/ DEG_REV_LEX> variables >0 *)
weighted block
<number of weighted variables>
<W_LEX / W_REV_LEX (* number of weighted variables
/ W_DEG_LEX / W_DEG_REV_LEX> should always be >0 *)
<weight_vector>
size:
<number of elements>
Groebner basis:
<basis elements>
<settings for the Buchberger
algorithm and compiler settings> (* optional *)
The Groebner basis consists always of binomials of the form x^a - x^b
where x^a and x^b are relatively prime. Such a binomial can be
represented by the vector a-b. The basis elements in the GROEBNER file
are given by the coefficients of this vector representation.
The settings for Buchbergers algorithm and the compiler flags are
produced when the GROEBNER file is generated by a call of solve_IP
with the verbose output option
-v, --verbose
Example:
GROEBNER
computed with algorithm:
du
term ordering:
elimination block:
0
weighted block:
3
W_LEX
1 2 3
size:
1
Groebner basis:
2 3 -2 (* x^2 * y^3 - z^2 *)
A NEW_COST file should look as follows:
NEW_COST
variables:
<number of weighted variables>
cost vector:
<coefficients of the new weight vector>
OPTIONS:
-p <number> percentage of new generators to cause an
autoreduction during Buchbergers algorithm;
<number> may be an arbitrary float, a
negative value allows no intermediate
autoreductions
default is
-p 12.0
-S [RP] [M] [B] [M] [2] criteria to use in Buchbergers algorithm
for discarding unneccessary S-pairs
RP relatively prime leading terms
M Gebauer-Moeller criterion M
F Gebauer-Moeller criterion F
B Gebauer-Moeller criterion B
2 Buchbergers second criterion
default is
-S RP M B
-v,
--verbose verbose output mode; writes the settings for
Buchbergers algorithm and the compiler
flags into the output GROEBNER file
-V <number>,
--version <number> version of Buchbergers algorithm to use;
<number> may be 1, 1a, 2 or 3
default is
-V 1
|