[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-glpk] API documentation suggestions
From: |
Robbie Morrison |
Subject: |
[Help-glpk] API documentation suggestions |
Date: |
Thu, 29 May 2008 20:22:29 +0200 |
User-agent: |
Thunderbird 1.5.0.14ubu (X11/20080306) |
Dear Andrew
Many thanks for the information about column bounds
(posting "non-negativity and structural vars").
Here are some suggestions regarding documentation in
the version 4.28 API reference. If my understanding is
incorrect, perhaps you could indicate the mistake.
---------------------------------
page 59
---------------------------------
"LPX_E_FAULT
the solver can't start the search because either the
problem has no rows and/or no columns, or some row
has non-zero objective coefficient."
Is the second part of the explanation correct? Can a
row have an objective coefficient? Should this be
".. or some row has no non-zero constraint coefficients
specified."
---------------------------------
page 61
---------------------------------
section 2.9.1
glp_set_col_kind documentation
It could be useful to add (I believe this is correct):
"If a column is set to 'GLP_BV', any default, prior, or
subsequent bounds set on that variable will be ignored.
If the column is later set to 'GLP_CV' or 'GLP_IV', then
such bounds will apply.
If a column is set to 'GLP_IV', its bounds must be
exact integer numbers with no tolerance, such that the
condition 'bnd == floor(bnd)' would hold."
---------------------------------
pages 23-24
---------------------------------
section 2.2.10
glp_set_col_bnds documentation
It could be useful to add:
"If a particular column bound is not set, then the
solver behaves as if 'glp_set_col_bnds(lp, j, GLP_FX,
0.0, 0.0)' had been called."
---------------------------------
page 61
---------------------------------
section 2.9.1
glp_set_col_kind documentation
section 2.9.2
glp_get_col_kind documentation
It could be useful to add (2 places):
"Note that these column kinds are mutually exclusive."
The reason for this comment is that this situation
contrasts with the behavior of 'glp_get_num_ints', for
instance.
---------------------------------
page 129
---------------------------------
section 3.3.4
glp_term_hook documentation
It could be useful to add:
"Note that 'glp_term_out' applies only to terminal
output and not to intercepted output."
---------------------------------
pages 12-13
---------------------------------
This one is just for consideration -- I can understand
if you decide to keep the manual short and simple.
However it might improve the appeal of GLPK to offer
some sample code without C arrays!
"C++ programmers can substitute the static C arrays
'ia', 'ja', and 'ar' in 'sample.c' as follows:
#include <vector> // Standard Template Library sequence container
const int offset = 1; // GLPK ignores element zero
std::vector<int> via(offset); // index i vector
std::vector<int> vja(offset); // index j vector
std::vector<double> var(offset); // coefficient a_ij vector
via.push_back(1); via.push_back(1); via.push_back(1.0); // a[1,1] = 1.0
via.push_back(1); via.push_back(2); via.push_back(1.0); // a[1,2] = 1.0
// etc
glp_load_matrix(lp, via.size() - offset, &via[0], &vja[0], &var[0]);
The call to 'glp_load_matrix' is passed the first
element addresses of the three vectors, which then, in
this context, behave exactly like C arrays."
with best wishes
Robbie Morrison
PhD student -- policy-oriented energy system simulation
Technical University of Berlin (TU-Berlin), Germany
University email (redirected) : address@hidden
Webmail (preferred) : address@hidden
[from IMAP client]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Help-glpk] API documentation suggestions,
Robbie Morrison <=