[Os-project-managers] Some more thoughts about ticket 14
Horand Gassmann
Horand.Gassmann at DAL.CA
Fri Jul 20 13:56:12 EDT 2012
Some more thoughts about ticket 14.
1. The mechanism in Ipopt (at least in theory) provides for a two-way
classification into area and severity for every output statement in
the code. This allows (at least in theory) the user to define
("register") multiple output streams into which specific output
statements can be directed. For instance, one output stream could be
dedicated to a very detailed log of the parser algorithm --- and
nothing else, a second stream could contain detailed information about
iterations of the algorithm, etc.
2. In practice, Ipopt makes available TWO output streams, stdout plus
ONE file, and it only allows a global severity level that applies to
all areas.
3. Aside from efficiency considerations there is no reason to limit
the output to two streams.
4. We should probably code the necessary information into the <job>
element. Unfortunately it does not seem enough to use the <other>
element for that purpose, though, because it only uses a name, value
and description. The name needs to be reserved for something like
"outputStream", the name of the option, and the value could be a
global print level, but where do we put the file name? In the
description field? I don't think so.
5. I think we should design a special element for this, perhaps
<journalist> with the following attributes:
streamName (string, required)
defaultPrintLevel (integer, optional; defaults to 0 or 1)
numberOfSpecials (or whatever we want to call them; integer, defaults to zero)
Then there would be a matching list of <special> elements, each of
which has an area (enumeration; required) and a printLevel (integer,
required)
6. Here is an example:
<journalist streamName="parserOutput.txt" defaultPrintLevel="2"
numberOfSpecials="2">
<special area="osolParser" printLevel="99"/>
<special area="solverInterface" printLevel="0"/>
</journalist>
This would send detailed output from the osol parser to
parserOutput.txt, suppress any output from the solverInterface, and
use the default print level of 2 for all other output.
7. There should be one preset journalist, stdout.
8. I have some qualms about letting any output be redirected on a
remote system, as this can open a backdoor for mischief. I think only
stdout should be configurable for a remote solver.
9. As mentioned before, I think that the allowable print levels should
depend on whether the OSSolverService was compiled in Debug or Release
mode, for reasons of efficiency.
I will think about areas next.
Let me know what you think about this. If there is anything unclear,
let me know, and I will try to elaborate.
Cheers
gus
-------------------------------------------------------
Horand I. Gassmann, Professor
School of Business Administration, Dalhousie University
6100 University Avenue, PO Box 15000
Halifax, Nova Scotia, Canada, B3H 4R2
ph. (902) 494-1844
fax (902) 494-1107
http://myweb.dal.ca/gassmann/
More information about the Os-project-managers
mailing list