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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
|
2006-08-19 Kohei Yoshida <kohei.yoshida@gmail.com>
* prj/build.lst:
* util/makefile.mk: added tool subdirectory.
* source/inc/tool/timer.hxx:
* source/tool/timer.cxx: Timer class added.
* source/inc/basedlg.hxx:
* source/ui/basedlg.cxx (addCheckBox): added.
* source/inc/baselistener.hxx:
* source/ui/baselistener.cxx: modified ActionObject and ActionListener to
eliminate slicing problem in derived classes.
* source/inc/listener.hxx:
* source/ui/listener.cxx: fixed unused parameter warnings and added listener
to the Option button.
* source/numeric/lpsolve.cxx:
* source/inc/numeric/lpbase.hxx:
* source/numeric/lpbase.cxx:
* source/inc/numeric/exception.hxx:
* source/numeric/exception.cxx: moved exception classes from lpbase.?xx
into their own source files.
* source/inc/option.hxx:
* source/ui/option.cxx: added model type option.
* source/inc/optiondlg.hxx:
* source/ui/optiondlg.cxx: added check box for model type option.
* source/numeric/makefile.mk: whitespace -> tab for indenting.
* source/numeric/nlpqnewton.cxx: set the maximum iteration value and the
maximum duration to prevent infinite loops (values hard-coded for now).
* source/ui/scsolver.hrc:
* source/ui/scsolver.src: added more strings for error message dialogs.
* source/ui/solvemodel.cxx (solve): use the option setting to differentiate
LP-solving from NLP-solving.
2006-08-03 Tor Lillqvist <tml@novell.com>
* source/inc/solvemodel.hxx
* source/inc/unohelper.hxx
* source/ui/unohelper.cxx: Remove extra CRs.
2006-08-02 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/numeric/nlpqnewton.cxx: slightly more code cleanup.
2006-08-02 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/numeric/nlpqnewton.cxx: moved method definitions into class declaration,
plus some code cleanup.
2006-08-02 Tor Lillqvist <tml@novell.com>
* source/numeric/makefile.mk
* source/service/makefile.mk
* source/ui/makefile.mk
* util/makefile.mk: Set EXTERNAL_WARNINGS_NOT_ERRORS to TRUE.
2006-08-01 Tor Lillqvist <tml@novell.com>
* source/numeric/diff.cxx (Tm): Remove unused variable.
2006-07-30 Kohei Yoshida <kohei.yoshida@gmail.com>
* docs/class_diagram.odg: modified to reflect latest codebase.
* idl/org/openoffice/sc/solver/makefile.mk: added.
* source/inc/lpbuilder.hxx: header cleanup.
* source/inc/nlpbuilder.hxx:
* source/numeric/nlpbuilder.cxx: added.
* source/inc/solvemodel.hxx (SolveModel): edited javadoc comment.
* source/inc/numeric/cellfuncobj.hxx:
* source/numeric/cellfunc.obj.cxx: added.
* source/inc/numeric/funcobj.hxx (BaseFuncObj): edited javadoc comment.
* source/inc/numeric/nlpbase.hxx:
* source/inc/numeric/nlpbase.cxx: header cleanup & moved implementation
into its own class.
* source/inc/numeric/nlpmodel.hxx:
* source/numeric/nlpmodel.cxx:
* source/numeric/nlpqnewton.cxx (pushVar, getVars): renamed.
* source/numeric/makefile.mk: removed diff_test.obj and added cellfunc.obj.
* source/numeric/nlp_test.cxx: removed.
* source/ui/makefile.mk: spaces -> tabs.
* source/ui/solvemodel.cxx: added hook for solving NLP models & made inline
some method definitions of implementation class.
* workben/Makefile: modified to make compilation of nlptest easier.
* workben/nlptest.cxx: added.
2006-07-26 Tor Lillqvist <tml@novell.com>
* prj/d.lst: DLLs are in bin, not lib.
2006-07-10 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/option.hxx,
* source/inc/optiondlg.hxx,
* source/ui/option.cxx,
* source/ui/optiondlg.cxx: added.
* source/inc/basedlg.hxx: modified javadoc comments.
* source/inc/baselistener.hxx,
* source/ui/baselistener.cxx (ActionObject, ActionListener): modified
for general purpose use.
* source/inc/dialog.hxx,
* source/ui/dialog.cxx (SolverDialog): bits for OptionDialog added.
* source/inc/listener.hxx,
* source/ui/listener.cxx (OptionBtnListener): added. some code cleanup.
* source/inc/solver.hxx,
* source/service/service.cxx: pointer to OptionData added.
* source/numeric/lpsolve.cxx: added stuff for positive variable setting.
* source/ui/makefile.mk: new object files added.
* source/ui/solvemodel.cxx: query the options settings and set the positive
non-positive constraint to the model.
2006-07-01 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/unoglobal.hxx,
* source/ui/unoglobal.cxx (RuntimeError): refactored.
* source/numeric/makefile.mk: removed lpsimplex.obj.
* source/ui/scsolver.hrc,
* source/ui/scsolver.src: added a new string, and fixed
a typo.
* source/ui/solvemodel.cxx (CellGemometriesDiffer): removed.
2006-06-24 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/solver.hxx,
* source/service/service.cxx,
* source/inc/basedlg.hxx,
* source/ui/basedlg.cxx: changed return type of getResMgr(), and added
getResStr() method for easy retrieval of localized string.
* source/ui/dialog.cxx,
* source/ui/scsolver.hrc,
* source/ui/scsolver.src: localized dialog strings.
2006-06-20 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/xcalc.hxx,
* source/ui/xcalc.cxx (disableCellUpdates, enableCellUpdates): added.
* source/service/service.cxx (solveModel): removed unused using statement.
* source/ui/solvemodel.cxx (parseConstraints, lcl_isNumeric): disabling and
enabling of cell updates before and after the model transform. Slightly better
way of detecting a numerical String whose value is 0.
2006-06-15 Kohei Yoshida <kohei.yoshida@gmail.com>
* prj/build.lst: added missing dependencies to fix build failure.
* prj/d.lst: fixed typos that prevented resource files from being delivered.
* source/inc/lpbuilder.hxx:
* source/ui/lpbuilder.cxx (ConstraintAddress): encapsulated data members, and
added some new members to handle a numerical RHS value directly given in the
constraint dialog, instead of requiring it to be always a cell address.
* source/inc/unoglobal.hxx (getMessage): removed virtual keyword.
* source/service/service.cxx (solve): added try-catch block to prevent unlikely
crash.
* source/ui/solvemodel.cxx: made CellGeometriesDiffer exception class localizable.
properly handle cases where the RHS value is numerical.
2006-06-13 Michael Meeks <michael.meeks@novell.com>
* source/inc/unoglobal.hxx: define ascii_i18n to
help markup.
* source/service/service.cxx (setLocale, getLocale),
* source/inc/solver.hxx: impl. XLocalizable
* source/service/service.cxx (initLocale, getResMgr): impl.
2006-06-14 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/unoglobal.hxx:
* source/ui/unoglobal.cxx: added localizable RuntimError class.
* source/inc/numeric/lpmodel.hxx:
* source/numeric/lpmodel.cxx: added two new methods that return the number of
constraints and decision variables, respectively. Renamed getEqualityByRowId
to getEquality for ease of typing.
* source/numeric/lpsimplex.cxx:
* source/numeric/lpuno.cxx: affected by renaming of lp::Modell::getEquality().
* source/numeric/lpsolve.cxx: implemented solve().
* source/ui/lpbuilder.cxx: disabled stripping of zero constraint rows and
columns, since they seem to do more harm than good.
* source/ui/solvemodel.cxx: switched to LpSolve as the default LP optimizer.
* util/makefile.mk: added linker flag for linking to lpsolve.
* workben/addon_pkg/Makefile_build: modified compiler flags, and changed
location of liblpsolve55.a.
2006-06-06 Kohei Yoshida <kohei.yoshida@gmail.com>
* docs/README.txt: removed old content, added directions for building separate
UNO packages.
* source/numeric/lpuno.cxx (UnoAlgorithmImpl::solve): added catch block to
catch potential RuntimeException coming from UNO algorithm component.
* workben/external/lpsolve_uno/lpsolve_uno.cxx (LpSolveImpl::solve): fixed
mis-calculation of model geometry, added exception throwing blocks when
a vector is accessed out-of-range (hopefully never happens again), and when
a solution is not found.
2006-05-30 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/numeric/lpsolve.hxx
* source/numeric/lpsolve.cxx: added new files for lp_solve front-end.
* source/inc/xcalc.hxx: edited comment for class CalcInterface.
* source/inc/numeric/lpuno.hxx
* source/numeric/lpuno.cxx: added implementation. These files are only used
for the separate scsolver UNO package for the time being.
* source/numeric/makefile.mk: added entry for lpsolve.obj and removed lpuno.obj.
* source/ui/solvemodel.cxx: made inclusion of lpuno.hxx header conditional.
Added getLpAlgorithm() method.
* workben/*_test.cxx: modified test cases.
* workben/addon_pkg/Makefile_build: added IDL files and changed var names.
2006-05-25 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/numeric/lpuno.hxx:
* source/numeric/lpuno.cxx: added new files for external UNO algorithm(s).
* source/inc/numeric/lpmodel.hxx:
* source/numeric/lpmodel.cxx:
* source/numeric/lpsimplex.cxx: solve(), getSolution() and setSolution removed
from the model class. So, instead of the model class taking an algorithm object
to find a solution, we now set the model object to the algorithm object, then
have the algorithm object find a solution. It's simpler this way, and is
consistent with the way the UNO models work.
* source/ui/solvemodel.cxx: altered code due to the above change.
2006-05-22 Kohei Yoshida <kohei.yoshida@gmail.com>
* idl/org/openoffice/sc/solver/XLpAlgorithm.idl: added getVar(s) methods.
* workben/external/lpsolve_uno/lpsolve_uno.?xx: added new variable to hold
decision variables locally, added getVar & getVars methods.
2006-05-21 Kohei Yoshida <kohei.yoshida@gmail.com>
* idl/org/openoffice/sc/solver/Equality.idl: removed '_THAN_' from two enum
elements to make them shorter (and easider to type).
* idl/org/openoffice/sc/solver/XLpAlgorithm.idl: removed run().
* idl/org/openoffice/sc/solver/XLpModel.idl: added set/getEquality methods.
* workben/external/lpsolve_uno/Makefile: renamed TestModel -> LpModel.
* workben/external/lpsolve_uno/lpsolve_uno.?xx: added code to map model's
properties passed via UNO to lp_solve's. Removed demo() and run();
* workben/external/lpsolve_uno/testmodel.?xx: renamed to lpmodel_uno.?xx.
* workben/external/lpsolve_uno/TestModel.idl: renamed to LpModel.idl.
2006-05-17 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/solver.hxx: changed the service name of the main Solver component to
match the rest of the entities under org.openoffice.sc.solver module namespace.
* source/ui/dialog.cxx: (finally) disabled the Options button for now.
* workben/external/lpsolve_uno/*: added LpSolve.idl, TestModel.idl, demo.cxx,
testmodel.?xx, and removed XLpAlgorithm.idl. The TestModel service is used only
to test lp_solve connectivity via UNO framework.
* workben/external/lpsolve_uno/Makefile: quite a bit of reorganization.
* workben/external/lpsolve_uno/lpsolve_uno.?xx: added new methods and a structure
to hold private data members.
* idl/org/openoffice/sc/solver/*.idl: added new IDL files (Bound.idl, Equality.idl,
Goal.idl, XLpAlgorithm.idl and XLpModel.idl).
2006-05-05 Kohei Yoshida <kohei.yoshida@gmail.com>
* workben/external/lpsolve_uno/*: initial upload of source files for exporting
lp_solve library as UNO service. Note that the source files of lp_solve library
are not included.
2006-04-27 Michael Meeks <michael.meeks@novell.com>
* source/ui/scsolver.hrc, source/ui/scsolver.src: add
dummy strings for translation.
* prj/d.lst, source/ui/makefile.mk, util/makefile.mk:
compile & install resource file.
2006-04-23 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/numeric/lpbase.hxx,
* source/numeric/lpbase.cxx: split the BaseAlgorithm class into envelope
and implementation classes, added getCanonicalModel and setCanonicalSolution
to encapsulate removal of constant equivalent variables.
* source/inc/numeric/lpmodel.hxx,
* source/numeric/lpmodel.cxx: switched from map to vector for storing variable
ranges, and made necesssary changes due to this switch. Consolidated delete*
methods into single deleteVariables() method.
* source/inc/numeric/lpsimplex.hxx,
* source/numeric/lpsimplex.cxx: added throw() to destructors. Made changes
to use the *Canonical* methods of BaseAlgorithm. Removed old code.
* source/numeric/matrix.cxx: removed unused local variable.
2006-04-04 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/numeric/lpsimplex.cxx (queryEnteringNBVar): Added new code to
check for constant equivalent boundary condition, without which we may
reach an "optimum" solution only to realize that that solution is not
really feasible. Also did some trivial code cleanup.
* source/numeric/lpsimplex.cxx (buildInitialVars): Switched to using a
temporary model instead of an original one. The temporary model has
additional constraints for slack variables which the original model
lacks.
2006-04-03 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/global.hxx (toVector): new function added.
* source/inc/numeric/lpmodel.hxx
* source/numeric/lpmodel.cxx: changed argument types of several variable
boundary related functions from unsigned long to size_t.
* source/inc/numeric/type.hxx: added javadoc comments to 2 enums.
* source/numeric/lpsimplex.cxx: removed unused header include. Did a
major rewrite of the initial solution search algorithm for bounded
revised simplex method (BoundedRevisedSimplexImpl). Extracted iteration
variable initialization part into its own method to make it easier to
follow.
2006-03-26 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/numeric/lpsimplex.cxx: worked on fixing initial solution
search algorithm, and did some code cleanup. Moved two structs inside
BoundedRevisedSimplexImpl class since they are only used in that class.
2006-03-16 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/numeric/lpmodel.hxx
* source/numeric/lpmodel.cxx: added a bunch of new methods to
lp::Model to deal with manipulation of temporary model object during
solver run.
* source/numeric/lpsimplex.cxx: added pre- and post-run process
routines to reduce the size of temporary model object in order to
improve the chance of finding a solution. Not sure whether this is
truly effective.
* workben/Makefile
* workben/addon_pkg/Makefile_build: changed CPP to CXX.
* workben/simplex_test.cxx: modified test case.
2006-02-16 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/numeric/lpsimplex.cxx: fixed incorrect way to access element
in the first column of RHS matrix. This error caused the two-phase
search to go into an infinite loop.
2006-02-15 Tor Lillqvist <tml@novell.com>
Enable building of scsolver with MSVC7.1:
* source/inc/baselistener.hxx: Include cppu/macros.hxx to get
SAL_CALL definition.
* source/inc/baselistener.hxx
* source/inc/listener.hxx: Add SAL_CALL to those methods which
override methods that have the SAL_CALL decoration.
* source/numeric/matrix.cxx: No #warning in MSVC. Use #warning
only with gcc.
* source/numeric/nlpqnewton.cxx: Use ::sqrt() instead of
std::sqrt() with MSVC, where std::sqrt() causes compilation errors
related to the complex sqrt() functions in STL.
2006-02-13 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/numeric/lpsimplex.hxx:
* source/numeric/lpsimplex.cxx: added a new method to disable
two-phase intial search to prevent nested infinite two-phase
search loop.
* workben/simplex_test.cxx: minor tweak.
* workben/addon_pkg/Makefile_build: changed variable names.
2006-02-09 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/inc/numeric/type.hxx: added descriptions for
Equality enum.
* source/numeric/lpmodel.cxx: added function comment for
Model::getCostVector().
* source/numeric/lpsimplex.cxx: modified to use temporary
model object instead of the original one. Also added new
function (convertVarRange) to convert variable ranges into
constraint matrix so that the algirithm can make use of
the variable ranges which were previously just ignored
(note: this function is not totally done yet!)
2006-01-30 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/numeric/*_test.cxx: moved to workben.
* source/numeric/makefile.mk: declaration of TESTFILES
removed.
* source/inc/numeric/lpmodel.hxx:
* source/numeric/lpmodel.cxx: added setCostVector() method
for settings multiple cost variables all at once.
* workben/*_test.cxx: moved from source/numeric.
* workben/Makefile: initial version added.
* workben/addon_pkg/Makefile: removed unused DFLAG
variable. Removed the copy source tree bit as it was
suboptimal.
* workben/addon_pkg/Makefile_build: modified BASEDIR to
point to the original source directory.
* workben/matrix_test.cxx: replaced setValue() calls
with operator().
* workben/simplex_test.cxx: worked on making a yet unsolvable
linear model from Ludovic.
2006-01-28 Kohei Yoshida <kohei.yoshida@gmail.com>
* workben/addon_pkg: added new directory and files
underneath it for building a separate scsolver package.
2006-01-16 Kohei Yoshida <kohei.yoshida@gmail.com>
* matrix.[ch]xx: added new method resize() to resize
matrix without boost's resize call. boost 1.30.2 doesn't
preserve element values when resizing.
* lpbuilder.[ch]xx: added new method to set initial
constraint matrix size.
* source/ui/solvemodel.cxx: call to set initial
constraint matrix size.
* source/ui/xcalc.cxx (getCellRangeAddress): set #ifdef
DEBUG block.
2006-01-13 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/numeric/matrix.cxx: reimplemented boost's
string::replace_first() function with std::string
methods only.
2006-01-11 Kohei Yoshida <kohei.yoshida@gmail.com>
* source/numeric/*.cxx: replaced all occurrences of
matrix's get/setValue calls with operator().
* source/inc/matrix.hxx: removed get/setValue public
methods due to redundancy.
* source/numeric/matrix.cxx: fixed return type of
MatrixImpl::getValue() to avoid returning reference
to temporary.
2006-01-09 Michael Meeks <michael.meeks@novell.com>
* source/service/*.xcu: remove - obsolete.
* source/ui/solver.cxx: remove, now
source/service/service.cxx.
* source/numeric/matrix.cxx: re-work boost / stl bits
a little.
* */makefile.mk: add build bits.
* *.cxx: s/assert/OSL_ASSERT/g
* service.cxx: switch to XExecutableDialog instead of
more complex custom XSolver interface.
|