source: coopr.misc/trunk/TODO @ 3224

Last change on this file since 3224 was 1809, checked in by wehart, 12 years ago

Further reorg steps.

File size: 4.7 KB
Line 
1* Check paths and executables for existence and executor status
2
3        if cmd is None or \
4            not os.path.exists(cmd) or \
5            not os.access(cmd,os.X_OK):
6            raise ApplicationError, "The 'glpsol' application cannot be found"
7
8
9
10MISCELLANEOUS
11
12- Add version options
13
14- Explore the use of filtering coverage information
15        Regex to define packages that are covered
16        Regex to define packages that are ignored
17
18- Figure out how to distinguish between unit/coverage and other tests
19        How can I turn on coverage for only a subset of the tests discovered?
20
21- Figure out a convenient way to find holes in the coverage test
22    What's the difference between an expected hole and an unexpected hole...?
23
24- Set installdir option in configuration:
25
26[defaults]
27installpath=<installer will update this line>
28.
29. Followed by other .INI configuration parameters
30.
31
32Then I put a lines in my Inno Installer script that are
33something like:
34
35[INI]
36;
37; Set the paths in progfile.INI to point to where the
38; program was installed
39;
40Filename: "{app}\progfile.ini"; Section: "defaults";
41    Key: "installpath";  String: "{app}" (all on 1 line)
42
43
44COOPR.OPT
45
46- Enable plugins for post-processing
47
48- Fix GLPK error: cannot handle problems without constraints.
49
50- GLPK does not report infeasible (ewm)
51
52- Solution state where you have the best value, but you don't have the
53    solution parameters.
54
55
56COOPR.PYOMO
57
58- Rework Pyomo to use config() for global data management
59
60- Setup tutorial for initialization, validation rules.  We need to verify and
61    document the consistency in these functions.
62
63- Get solver results working with Pyomo
64    Load solution
65    Get solution
66    Load results object
67
68- Document the logic in coopr/opt/base/sol.py
69
70- Extend Pyomo script to use a user-defined instance
71
72- Document difference between models and instances: abstract vs. concrete data
73
74- Add a new 'results' value, which defines the command-line used to execute the solver.
75
76- Define and validate the semantics of adding a sequence of tables and data files.  I _think_ that these should augment the definitions in the previous tables.  But does that mean that sets would be extended???
77
78- Support disable/enable constraint semantics
79    Is this supported in an instance?
80
81- Add support for adding constraints
82    Does this require the generation of a new instance...?
83
84- When printing equality constraints, don't print the dummy upper bound.
85
86- Unsupported division expression
87
88- Enable specification of an empty table
89
90
91COOPR.PYSOS
92
93- We need to be able to specify PySoS global parameters/variables in a Pyomo-
94like syntax.  This allows for an abstract specification that can be mapped to
95concrete data types in the subsystems
96
97- On a related note, we need to specify auxilliary parameter/set info that is
98passed into subsystems.  These aren't variables of the global system, but used
99to coordinate the indexing of data.
100
101- We need to be able to specify the sheets used in an Excel model.
102
103- The Pysos excel functionality needs to migrate to the use of Coopr's Excel
104spreadsheet class to consolidate the Excel functionality used here.
105
106- On a related not, the Excel interface needs to be adapted to accept/return
107data formats that are more natural for users: singletons, arrays, 2D arrays.
108The format of these will depend on the characteristics of the cell or range
109being accessed.
110
111- Extend the Pyomo top-level execution model to enable more direct modification
112of the ModelData object passed into Pyomo.
113
114- Make it easy for SoS submodels to share resources (e.g. Excel spreadsheets)
115
116- Need to augment the output to print the information for all variables of
117interest in the application.
118    What are 'variables of interest' called that aren't directly invovled
119    in the optimization?  These aren't state variables...
120
121
122COOPR.SUCASA
123
124- Setup the SUCASA parser to use the temporary directory for the table
125
126- The following example is a bug:
127
128    set I within Integers := 1..n;
129    param value {I};
130    # SUCASA SYMBOL: n capacity value weight
131
132This generates the following output:
133
134  . Processing model information
135      WARNING: creating set 'set0' for set string 'I'
136      WARNING: superset type unknown for the following symbols, so
137        they are interpreted as symbolic literals:
138          set0
139
140- Add the following test files to the SUCASA QA suite
141
142http://netlib.sandia.gov/ampl/looping/index.html
143http://netlib.sandia.gov/ampl/models/compl/index.html
144http://netlib.sandia.gov/ampl/models/index.html
145http://netlib.sandia.gov/ampl/tables/index.html
146http://www.ampl.com/BOOK/examples.html
147http://www.ampl.com/CASES/index.html
148http://www.ampl.com/NEW/LOOP1/index.html
149http://www.ampl.com/NEW/LOOP2/index.html
150http://www.ampl.com/NEW/tables.html
151
152- Extend parser to identify the dimension of a set
Note: See TracBrowser for help on using the repository browser.