-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathChangeLog
2457 lines (1719 loc) · 76.9 KB
/
ChangeLog
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
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2024-05-01 <rfranke>
* hxi/fmi.tcl, omu/{Prg_DTEst.C, Prg_DynamicEst.C}, odc/omu.tcl:
- support string valued parameters
* odc/omu.tcl:
- adapt to current OpenModelica omc compiler, version 1.22
2022-05-05 <e-arnold>
* configure.in
- add -std=legacy to FORTRAN_FLAGS
* hxi/fmi.tcl:
- catch error for file attributes
2020-11-12 <rfranke>
* meschach/symmeig.c, meschach/version.c:
- flip comparison for split in trieig to treat numerical overflow
(cf. similar fix in meschach/hessen.c on 11/01/00)
2020-09-17 <rfranke>
* omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- restrict evaluation of clocked partitions during update
(was introduced on 2018-09-29 for numerical differentiation)
2020-02-22 <rfranke>
* hxi/fmi.tcl:
- add function for list of FMI model variables
2019-07-02 <rfranke>
* omu/Omu_Model.[hC], Prg_DTOpt.C, Prg_DTEst.C:
- fix creation of multiple FMUs for parallel threads
(was introduced on 2018-06-12: limit number of parallel threads)
2019-06-20 <rfranke>
* hqp/Hqp_Docp.C:
- fix memory leak for parallel multiple shooting
(was introduced on 2018-06-12: limit number of parallel threads)
2018-12-17 <rfranke>
* omu/Prg_DynamicOpt.[hC], omu/Prg_DTOpt.[hC]:
- introduce mdl_y0_soft_min,max,weight1,weight2
- fix analytic Jacobian for mdl_der_u_soft_min,max
2018-09-29 <rfranke>
* omu/Prg_DTEst.[hC], omu/Omu_Init.C, omu/Makefile, hqp/Hqp_Docp.C, odc/did_dtest.tcl:
- exploit sparse Jacobian of discrete-time FMUs for estimation
* omu/Prg_DTOpt.[hC], omu/Prg_DynamicOpt.[hC], omu/Prg_DynamicEst.[hC], did_fmu_est.tcl:
- evaluate clocked partitions during update for numerical differentiation
- don't save results if within_grds to exclude perturbed values
2018-06-12 <rfranke>
* omu/Omu_Model.[hC], omu/Prg_DTOpt.C, omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- evaluate first tick after initialization of discrete-time models
- limit number of parallel threads to number of stages
2018-05-31 <rfranke>
* hxi/fmi.tcl:
- fix binary path for 64 bit Windows
* configure, configure.in:
- use regular LPSolve package under Linux
2018-04-17 <rfranke>
* omu/Prg_DTOpt.[hC], omu/Omu_Init.C, omu/Makefile,
odc/cstr.tcl, odc/did_dtopt.tcl:
- rename DOCP to DTOpt program
* odc/omc.tcl:
- update to OpenModelica 1.13 with analytic Jacobian
2018-03-17 <rfranke>
* odc/CSTR.mo, odc/cstr.tcl, odc/omc.tcl:
- add CSTR example for discrete-time optimal control
* hxi/sfun_fmu.c:
- support fmi2GetDirectionalDerivative for models with discrete states
* omu/Omu_Model.[hC]:
- consider string parameters during setup of sparse Jacobian
* omu/Prg_DOCP.C (update_vals):
- fix initialization of states for parallel multiple shooting
2018-03-05 <rfranke>
* omu/Prg_DOCP.C (update_vals):
- evaluate initial clock during initialization
- initialize states from parameters
2017-11-20 <rfranke>
* hxi/sfun_fmu.c:
- support mdlJacobian for models with non-real variables
2017-10-30 <rfranke>
* hxi/sfun_fmu.c:
- call fmi2GetDirectionalDerivative if provided by FMU
* omu/Omu_Model.C:
- change default model logging from If_LogNone to If_LogError
2017-10-07 <rfranke>
* hqp/Hqp_IpPARDISO.[hC], Hqp_Init.C, Hqp_omp.h:
- rename from Hqp_IpPardiso.[hC]
- add mat_ncpu option accessing OpenMP
* hqp/pardiso_wrapper.[hc], configure, configure.in, makedefs.in:
- compile and link MKL PARDISO into separate shared object
2017-10-03 <rfranke>
* hqp/Hqp_IpPardiso.[hC]:
- change argument types in call to Pardiso from int to long
- enable iterative refinement steps
- remove nparallel option as this is treated internally
* iftcl/If_Element.C:
- trace exception details only if compiled with DEBUG flag
* hxi/sfun_fmu.c, hxi/Hxi_SimStruct.C, omu/Prg_DynamicOpt.C:
- treat missing FMI Jacobian
2017-08-29 <rfranke>
* hxi/sfun_fmu.c, hxi/fmi.tcl:
- initialize clock intervals in absence of discrete states as well
2017-07-15 <rfranke>
* meschach/meminfo.c, meschach/version.c, configure.in, configure:
- add pragma omp critical to memory supervision
* hxi/sfun_fmu.c:
- prevent call to clock functions in continuous FMUs
2017-07-03 <rfranke>
* iftcl/If.C, hxi/sfun_fmu.c, omu/Prg_DOCP.C, configure, configure.in:
- restrict logging during parallel execution to master thread
* omu/Prg_DOCP.C:
- obtain mdl_y_lambda only at initial time point
2017-07-01 <rfranke>
* configure, configure.in:
- add configuration of OpenMP flag for cl
* hxi/sfun_fmu.c:
- treat FMU paths with whitespaces and special characters
* omu/Prg_DOCP.C, omu/Prg_DynamicOpt.C:
- fix evaluation of Jacobian for soft constraints without weight
- always use states for optimized inputs
2017-06-28 <rfranke>
* omu/Prg_DOCP.[hC], omu/Omu_Init.C, omu/Omu_Model.[hC], hxi/sfun_fmu.c:
- extend FMU interface for parallel model evaluation
* hqp/Hqp_Docp.[hC]:
- make number of CPUs configurable
* odc/did_docp.tcl:
- add example
2017-06-25 <rfranke>
* hqp/Hqp_omp.h, hqp/Hqp_Docp.[hC], omu/Omu_Model.[hC]
omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- extend model update with pragma omp parallel for
* configure, configure.in:
- add option --enable-omp
* hxi/sfun_fmu.c, omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- set sample time during each update
2017-05-22 <rfranke>
* hxi/sfun_fmu.c, hxi/fmi.tcl:
- add mdlJacobian to FMU interface
* omu/Omu_Model.[hC], omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- treat sparse pattern of Jacobian
2017-05-03 <rfranke>
* hxi/fmi.tcl, hxi/sfun_fmu.c:
- treat discrete states based on previous values
* iftcl/If_Element.C:
- catch errors of nested calls to If_Element::tclCmd
* omu/Hqp_Omuses.C, omu/Omu_Dependents.h, omu/Omu_Deps.C,
omu/Prg_DynamicOpt.[hC]:
- pass Lagrange multipliers to DynamicOpt program
* configure.in, configure:
- change to development version 1.9.9
2017-01-09 <rfranke>
* hxi/sfun_fmu.c, omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- introduce subactive evaluation mode for discrete FMUs
(needed to initialize clocked variables during consistic)
- add log messages
2017-01-06 <rfranke>
* hxi/fmi.tcl
- fix sorting of state names with subscripts
- add quotes to String values
2016-06-12 <rfranke>
* omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C, hxi/sfun_fmu.c, hxi/fmi.tcl,
odc/DID.mo, odc/did_fmu_est.tcl, odc/dic_mex_sfunction_est.tcl:
- support optional fixed start values for discrete-time FMUs
- support mixed discrete/continuous FMUs
2016-05-28 <rfranke>
* meschach/matrix.h, meschach/submat.c, hqp/Hqp_LPSolve.C
- avoid name clash between LPSolve and Meschach for get_row
* hxi/fmi.tcl
- preserve file attributes when unzipping FMUs
2016-04-13 <rfranke>
* hxi/fmi.tcl
- move clocks of discrete-time FMUs to type definitions
2016-01-10 <e-arnold>
* omu/Omu_Program.C
- use myfree() for ADOL-C 2.6.0
2016-01-07 <e-arnold>
* configure:
- add -std=c++11 to CXXFLAGS (required by ADOL-C)
* omu/Omu_Pragram.h:
- adapt for ADOL-C 2.5.2
* hxi/sfun_fmu.c, odc/Odc_Main.c, meschach/{err.c, ivecop.c, matlab.c,
matrix.h, matrixio.c, memstat.c, sparseio.c, sprow.c, version.c}:
- remove several warnings
2015-10-19 <rfranke>
* hxi/sfun_fmu.c, omu/Omu_Model.[hC],
omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- extend interface of discrete-time FMUs with sample interval
* odc/{did_fmu_est.tcl, DID.mo, did_fmu.tcl dic_fmu_est.tcl},
omu/Hqp_Omuses.C:
- add discrete-time estimation example
2015-10-17 <rfranke>
* hxi/fmi.tcl, hxi/sfun_fmu.c, odc/DID.mo, odc/did_fmu.tcl, odc/omc.tcl,
omu/Prg_DynamicOpt.C, omu/Prg_DynamicEst.C:
- implement support for discrete-time FMUs
- add discrete-time double integrator example
2015-10-01 <rfranke>
* configure, configure.in:
- release 1.9.8
2015-09-30 <rfranke>
* omu/Omu_Model.[hC] omu/Prg_DynamicOpt.C, omu/Prg_DynamicOpt.C:
- introduce flag _mdl_needs_init to call mdlInitializeConditions
only if really needed (fixing change on 2015-02-24)
2015-02-24 <rfranke>
* omu/Prg_DynamicOpt.C, omu/Prg_DynamicOpt.C:
- setup_stages always sets _t0_setup_model to ensure
subsequent call to mdlInitializeConditions
2015-01-13 <rfranke>
* omu/Prg_DynamicEst.C:
- initialize nominal values of parameters from FMU
2015-01-12 <rfranke>
* hxi/fmi.tcl: extract new FMU having older time stamp as well
* hxi/sfun_fmu.c: don't call fmi2Terminate for better reuse existing instance
* omu/Prg_DynamicOpt.C: bug fix for pure control vector parameterization
* omu/Prg_DynamicEst.C: fix memory leak (introduced on 2014-07-30)
* odc/Makefile.in: update make clean
2015-01-09 <rfranke>
* odc/DrumBoiler.mo, odc/drumboiler.tcl, odc/drumboiler_sp.tcl:
- add dynamic and steady-state drum boiler optimization examples
* odc/omc.tcl
- allow diagnostic messages without raising an error
2015-01-02 <rfranke>
* hxi/hxi.tcl, omu/Omu_Model.[hC]:
- improve loading and release of FMU
* hqp/Meschach.h, iftcl/If.h, hqp/Hqp.h:
- adapt inline specifiers to DLL export
2014-12-30 <rfranke>
* hxi/sfun_fmu.c:
- avoid repeated loading of a binary FMU
- delay fmi2SetupExperiment until start values have been set
2014-12-29 <rfranke>
* iftcl/*.h, hqp/*.h, omu/*.h, makedefs.in, configure.in, configure:
- add declaration specifiers for DLL generation
* odc/Makefile.in:
- add BatchReactor_bare to non ADOL-C examples
* meschach/err.[hc], meschach/matdef.h:
- rename global restart to m_restart
- remove unused code
* hqp/Meschach.[hC], meschach/addon2_hqp.[hc], hqp/Makefile, meschach/makefile:
- move Meschach addons from hqp/Meschach to meschach/addon2_hqp
* hxi/fmi.tcl, hxi/sfun_fmu.c:
- order variables alphabetically
* omu/Omu_Model.C:
- use zero for undefined start values for states
2014-12-11 <rfranke>
* hxi/sfun_fmu.c:
- add detection of time and state events
- call fmi2SetupExperiment instead of initial fmi2SetTime
- only call fmi2Terminate if FMU has been initialized
* hxi/fmi.tcl:
- mark extracted FMU dirs hidden with prepended dot
* odc/omc.tcl:
- parse multi-line error messages
- force copy of compiled FMU
2014-11-22 <rfranke>
* hxi/fmi.tcl:
- improve XML parsing of FMI model description
* meschach/sparse.c, meschach/matdef.h, meschach/version.c:
- fix memory leak in sp_resize
2014-09-24 <rfranke>
* odc/DIC.mo, odc/sfun_fmu.tcl, odc/sfun_fmu_est.tcl, odc/Makefile.in:
- add example for FMI defining the model with Modelica
* odc/omc.tcl:
- compile Modelica model to FMU using OpenModelica
2014-08-14 <rfranke>
* iftcl/If.C, hxi/sfun_fmu.c:
- fix logging introduced on 8/11
2014-08-11 <rfranke>
* hxi/sfun_fmu.c:
- make logging configurable at runtime
- don't call state related functions if there are no states
* omu/Omu_Model.[hC], Prg_Dynamic*.C, hxi/sfun_fmu.c:
- add configurable logging
- check errors of mdlTerminate
* omu/Prg_DynamicEst.C: minor fix for initialization of x0
* iftcl/If.h, iftcl/If*.[hC], hqp_docp/Docp_Main.C:
- change argument references to pointers to
allow inclusion of If.h into C code, besides C++
- add If_Log functionality
2014-08-04 <rfranke>
* hxi/sfun_fmu.c:
- improve supervision of memory management
2014-08-02 <rfranke>
* omu/Omu_Model.C:
- bug fix for I/O ports with dimension of zero
* hxi/sfun_fmu.c:
- add support for tunable parameters introduced with FMI 2.0
2014-07-31 <rfranke>
* omu/Prg_*.[hC], omu/Omu_Init.C, omu/Makefile:
- rename generic predefined programs to DynamicOpt and DynamicEst
* omu/Hqp_Omuses.[hC]: add C++ member access methods
2014-07-30 <rfranke>
* hxi/sfun_fmu.c, fmi*.h: upgrade from FMI 2.0 RC1 to FMI 2.0
* hxi/fmi.tcl:
- treat directory entries in fmu zip files
- treat variables with multiple categories, like output and state
* omu/Omu_Model.[hC], omu/Prg_SFunction*.[hC], hxi/fmi.tcl:
- automatically obtain nominal values from model description for FMUs
* omu/Omu_Model.[hC], omu/Prg_SFunction*.C:
- obtain start values for states and inputs from
model description for FMUs
* hxi/sfun_fmu.c:
- don't obtain initial states in mdlInitializeConditions
because they can generally only be obtained with inputs available
* hqp/Hqp_Init.C (Hqp_InitSignalHandler): provide return value
2014-05-02 <rfranke>
* configure.in, configure, makedirs.in:
- improve dynamic loading of Omuses under Linux and OSX
* hqp/{Hqp_Init.C, Hqp.h}, hqp_docp/Docp_Main.C, odc/Odc_Main.c:
- move setup of signal handler into separate Hqp_InitSignalHandler
in order to make it optional
2014-05-01 <rfranke>
* meschach/{machine.h, matdef.h, spbkp.c, version.c},
iftcl/{If_Class.C, If_IntVec.C}, hqp/Hqp_DocpAdol.C,
hxi/Hxi_SimStruct.C, omu/Omu_IntDASPK.C:
- remove use of deprecated malloc.h (use stdlib.h instead)
* omu/Omu_Model.C, hxi/sfun_fmu.c:
- support special characters in model names
2014-04-26 <rfranke>
* omu/Omu_Init.C, omu/Makefile:
- add ::fmi as built-in code to Omuses
* hxi/fmi.tcl:
- support for reading model description of FMI 1.0
- fix reading of Jacobian structure with derivatives
- make dependency of vfs::zip local to ::fmi::extractModel
- exploit built-in zlib available since Tcl 8.6
* omu/Prg_SFunctionOpt.C, omu/Prg_SFunctionEst.C:
- add command prg_setup_model
* omu/Omu_Model.C:
- fix global namespace for set command
2014-04-21 <rfranke>
* hxi/fmi.tcl, hxi/sfun_fmu.c:
- extract all files from FMU, including also resources
- treat custom modelIndentifier when loading binary
2014-03-27 <rfranke>
* hxi/sfun_fmu.tcl:
- move event processing completely to mdlOutputs
2014-03-15 <rfranke>
* hqp/Hqp.[hC], hqp/Hqp_DocpWrapper.h, hqp/Makefile,
hqp/Hqp_SqpProgram.[hC], hqp/Hqp_Docp.h, iftcl/If_List.h
hqp_docp/Prg_DIC.[hC], hqp_docp/Docp_Main.C,
omu/Hqp_DocpStub.[hC], omu/Makefile:
- remove C calling interface between Hqp and Omuses
* omu/Omu_Init.C, omu/Hqp_Omuses.[hC]:
- inherit Hqp_Omuses from Hqp_Docp, bypassing C calling interface
* hqp/Hqp_SqpProgram.C:
- bug fix for creation of integer programs
* hxi/fmi.tcl:
- determine sparse model structure from XML description
* hxi/sfun_fmu.c:
- bug fix for initialization of model name
* omu/Omu_Model.[hC], omu/Prg_SFunction.[hC]:
- rename base class Prg_SFunction to Omu_Model
2014-03-09 <e-arnold>
* hqp/Hqp_IpsMehrotra.C:
- bug fix in maximum step size
2014-03-08 <rfranke>
* omu/Prg_SFunction*.[hC], omu/Omu_Variables.[hC], hxi/sfun_fmi.c:
- get parameter values from FMU if no mdl_args specified
- decouple Prg_SFunction from inheritance chain
- move Omu_OptVarVec from Prg_SFunctionOpt to Omu_Variables
2014-03-04 <rfranke>
* hxi/sfun_fmu.c, hxi/fmi.tcl, hxi/Hxi_SimStruct.C, hxi/README,
hxi/fmiTypesPlatform.h, hxi/fmiFunctionTypes.h, hxi/fmiFunctions.h,
omu/Makefile:
- add interface to FMI 2.0 for model exchange
* hxi/cg_sfun.h:
- minor bug fix
* configure, configure.in:
- change to development version 1.9.7
2014-03-01 <rfranke>
* configure, configure.in, .gitignore, INSTALL.html:
- release 1.9.7
2014-02-25 <e-arnold>
* hqp/Hqp_IpsMehrotra.C:
- fix treatment of QP without inequality constraints
2014-02-19 <rfranke>
* configure.in, configure, hqp/Makefile, install_name:
- add initial support for Mac OSX provided by Pär Winzell
* ChangeLog:
- remove trailing whitespaces
2014-02-15 <rfranke>
* omu/Prg_SFunctionOpt.[hC]:
- introduce mdl_y_order (default: 1)
- fix treatment of inactive inputs for zero order hold
2014-01-30 <e-arnold>
* omu/adoublev.C, configure.in, configure:
- adoublev operator improvement (thanks to Vitalij Ruge)
2014-01-30 <e-arnold>
* odc/crane.tcl, odc/bio.tcl, odc/dic_mex_sfunction.tcl,
odc/dic_mex_sfunction_est.tcl, odc/dic_mex_sfunction_int.tcl:
- try rbc, if BLT not available
2014-01-29 <e-arnold>
* Makefile, configure.in, makedefs.in, makedirs.in, omu/Makefile,
omu/Omu_IntODE.C, omu/Omu_IntOdeTs.C, omu/Omu_Program.[hC],
omu/adoublev.[hC], odc/Makefile.in:
- remove ADOL-C from source tree and re-implement adoublev
2014-01-28 <rfranke>
* configure, configure.in:
- change to development version 1.9.7
* iftcl/*.[hC], iftcl/Makefile, hqp/*.[hC], hqp/hqp_solve.tcl,
omu/Prg_SFunction.h, odc/Prg_CranePar.[hC]:
- remove deprecated interface elements in order to support Tcl 8.6
2014-01-27 <e-arnold>
* meschach/*.c:
- improved loop unrolling (machine.c):
__sub__, __add__, __smlt__, __mltadd__, __ip__, __zero__
- bug fixes:
bd_resize, bd_transp, m_move, ifft, m_save, swap_rows, swap_cols,
QRcondest, Dsolve, v_mltadd
- memory leak fixes:
m_inverse, px_cols, px_rows
2014-01-25 <rfranke>
* README.md, INSTALL.html, configure.in, configure:
- release 1.9.6
- add online docu in branch gh-pages
2014-01-23 <rfranke>
* hxi/Hxi_SimStruct.[hC]:
- move mxFree into the compilation unit that allocates memory
2014-01-22 <rfranke>
* README.html, README.md, INSTALL.html, Makefile, doc/Doxyfile.in:
- update docu
- use MathJax instead of LaTeX/png for math typesetting
- use svg instead of png for class graphs
- disable generation of LaTeX/PDF source code docu
* hqp, hxi, omu:
- fix doc comments to avoid errors from LaTeX
2014-01-21 <rfranke>
* adol-c/hqp_adolc.patch:
- clean up pointer to string constants
* configure.in, configure:
- correct PIC flag for ADOL-C (thanks to Vitalij Ruge)
2014-01-14 <rfranke>
* hqp/Hqp_IpsMehrotra.C:
- initialize status variables before possible error break
2014-01-13 <rfranke>
* rksuite/rksuite.f
- merge rksuite.org.f into rksuite.f
* odc/batchreactor.tcl, odc/runall
- update tests for batch reactor example
2014-01-12 <rfranke>
* odc/Prg_BatchReactor.[hC], odc/Prg_BatchReactor_bare.[hC]:
- add batch reactor example
* iftcl, hqp, omu, odc:
- clean up pointers to string constants
2014-01-11 <rfranke>
* configure.in, configure:
- improve autoconf of tcl.h
2014-01-09 <e-arnold>
* Makefile.hqp, INSTALL.html:
- replace mkdirhier by mkdir -p
* configure.in:
- add Fortran libraries to OMU_MACH_OBJS
2013-07-15 <rfranke>
* omu/Prg_SFunctionOpt.C, omu/Prg_SFunctionEst.C:
- bug fixes for discrete-time states
2013-07-10 <rfranke>
* omu/Prg_SFunctionOpt.[hC]:
- introduce mdl_der_u_soft_min/max/weight1/weight2
* hxi/Hxi_mx_parse.h:
- accept double quotes as string delimiters, besides single quotes
2010-08-29 <rfranke>
* hqp/Hqp_IpPardiso.[hC]:
- rename mat_fname to mat_funcname
2010-08-14 <rfranke>
* hqp/Hqp_IpPardiso.[hC], hqp/Hqp_DynLoad.[hC], hqp/Makefile:
- include Pardiso solver interface with regular build
using dynamic load of solver lib at runtime
2010-08-09 <rfranke>
* omu/Prg_SFunctionOpt.[hC]:
- add support for integer-valued states (mdl_x_integer)
- bug fix Jacobian for junction conditions (introduced 2010-08-08)
2010-08-08 <rfranke>
* omu/Prg_SFunction.[hC], omu/Prg_SFunctionOpt.C, omu/Prg_SFunctionEst.C:
- add support for discrete sample times
* hxi/Hxi_MEX_SFunction.C, hxi/Hxi_SimStruct.[hC], hxi/Hxi_SimStruct_methods.h:
- add support for discrete sample times
(ssIsSampleHit, ssGetSampleTimeTaskID, ssGetSampleHitPtr)
* odc/sfun_did.c:
- add analytic mdlJacobian
2010-07-15 <rfranke>
* Prg_SFunctionOpt.C:
- bug fix for initialization of active outputs after warm start
2010-05-30 <e_arnold>
* configure, configure.in, hqp/Meschach.h, omu/Omu_Program.h:
- minor changes for gcc 4.4.3, cl 9.0
* hxi/Hxi_SimStruct.C:
- modify for gcc 4.3 (thanks to Benjamin Kern)
2009-11-14 <rfranke>
* Prg_SFunctionOpt.C:
- bug fix for soft constraints avoiding stall during solution
- bug fix for rate-of-change constraints and fixed initial values
2009-04-20 <rfranke>
* Prg_SFunctionOpt.[hC]:
- introduce mdl_x_periodic and mdl_u_periodic
2009-04-19 <rfranke>
* Hqp_MipSolver.[hC], Hqp_LPSolve.[hC],
Hqp_SqpProgram.[hC], Hqp_Init.C, odc/dic_mex_sfunction_int.tcl:
- new integration of mixed integer solver lp_solve
* Hqp_Program.[hC], Hqp_Docp.[hC], Hqp.[hC], Hqp_DocpWrapper.h,
Hqp_DocpStub.[hC], Hqp_Omuses.[hC], Omu_Variables.[hC],
Prg_SFunctionOpt.[hC], hqp_docp/Prg_DID.C:
- add configuration of integer variables
* hqp/hqp_solve.tcl:
- add usage of mixed integer solver
* iftcl/If_Module.h:
- add treatment of module name "None" if no module chosen
* Hqp_SqpProgram.[hC]:
- add norm_inf / prg_norm_inf method
* Hqp_SqpSolver.C, Omu_Integrator.C: reduce default tolerances
- change _eps from 1e-6 to 1e-5, qp->eps from 1e-10 to 1e-9
- change _rtol/_atol from 1e-8 to 1e-7
* configure.in, configure, makedefs.in, makedirs.in, hqp/Makefile:
- add MIP solver
- change version to 1.9.6, development
2008-11-08 <rfranke>
* configure.in, configure:
change version to 1.9.5, add tag release-1-9-5
2008-11-07 <rfranke>
* Omu_IntIMP.C:
rework treatment of fixed step size again (cf. 2007-11-06)
* omu/Omu_Integrator.[hC], omu/Omu_IntIMP.C (solve):
new configuration property prg_int_min_stepsize (default: 0)
determining step size that shall at least be applied
* omu/Prg_SFunctionEst.C (update, continuous):
don't call mdlInitializeConditions for active parameters anymore,
as otherwise states might be initialized from parameters
* omu/Omu_Program.C:
bug fix for determination of problem structure with ADOL-C
2007-11-06 <rfranke>
* omu/Hqp_Omuses.[hC]:
setup Hessian depending on new prg_hela_setup
* omu/Omu_Program.C, omu/Prg_SFunctionOpt.C
setup structure for linear elements
* omu/Omu_Dependents.h, omu/Omu_Deps.[hC]:
new methods set_linear_variable and is_linear_variable
* omu/Omu_Dependents.C (analyze_struct):
bug fix for determination of semi band width for non-square matrices
2007-11-06 <rfranke>
* Omu_IntIMP.C:
rework treatment of fixed step size
* configure.in, configure:
change to development version 1.9.5
2007-03-29 <rfranke>
* configure.in, configure:
change version to 1.9.4, add tag release-1-9-4
2007-01-07 <rfranke>
* omu/Prg_SFunctionOpt.[hC]:
- add soft constraints mdl_yf_soft_min/max for outputs at final time
- add constraints mdl_uf_min/max for inputs at final time
2006-08-15 <rfranke>
* omu/Prg_SFunctionOpt.[hC], omu/Prg_SFunction.[hC]:
add support for time as optimization variable
2006-05-13 <e_arnold>
* hqp/Hqp_IpsMehrotra.[hC]:
re-implementation of Mehrotra's predictor-corrector method
* configure.in, configure, Makefile.hqp:
modify for gcc 4.1.0
2006-02-21 <rfranke>
* meschach/bkpfacto.c (BKPfactor):
bug fix for numerical overflow causing bad memory access
(this bug lead LQDOCP to crash if QP problem degenerates)
2006-02-02 <rfranke>
* configure.in, configure: DEVELOPMENT_VERSION=yes
* hqp/hqp_solve.tcl (hqp_solve):
don't raise error subiters if qp_result is feasible
* hqp/Hqp_SqpProgram.[hC]:
add optimization step s as prg_s to iftcl interface
* omu/Prg_SFunctionOpt.[hC]:
- additionally consider y_ref, u_ref and der_u_ref for
evaluation of first order terms in optimization objective
- add mdl_u0 to read and write model inputs at initial time
- mdl_y0 and mdl_yf to read model outputs at initial and final time
* odc/dic_mex_sfunction.tcl: adapt to integer prg_multistage
2004-11-21 <rfranke>
* configure.in, configure:
change version to 1.9.3, add tag release-1-9-3
* makedirs.in:
add quotes to allow spaces in installation dirs of Tcl and MATLAB
* Makefile, odc/Makefile.in (clean):
- clean up exp and lib files
- clean up atom4te.cache files
2005-08-01 <rfranke>
* omu/Prg_SFunctionOpt.C, omu/Prg_SFunctionEst.C:
- extend _multistage binary flag to integer and provide
re-initialization of states in each stage with _multistage=2
* omu/Prg_SFunction.[hC], omu/Prg_SFunctionOpt.C, omu/Prg_SFunctionEst.C:
- roll back treatment of discrete events to release 1.9.2, but
don't call mdlOutputs in Prg_SFunction::setup_model and
skip call to mdlInitializeSizes if initial time changed
2005-07-25 <rfranke>
* omu/Hqp_DocpStub.[hC], omu/Hqp_Omuses.C:
- don't catch model errors during initial simulation
- move treatment of model errors to Hqp_DocpStub for update_stage
2005-07-20 <rfranke>
* configure.in, configure:
disable ADOL-C per default; require explicit --enable-adolc
* omu/Prg_SFunction.C (setup_model):
simplify and improve processing of discrete events
2005-07-14 <rfranke>
* omu/Prg_SFunctionOpt.C, omu/Prg_SFunctionEst.C (consistic):
simplify and improve processing of discrete events, assuming:
- mdlInitializeConditions is executed only once during setup_model
- initial conditions that include optimized variables
have to be formulated as optimization constraints
2005-07-11 <rfranke>
* odc/Makefile (clean): clean up any shared libs in odc
* omu/Prg_SFunction.C: bug fix for parsing mdl_args
(introduced 2005-06-30)
2005-07-02 <e_arnold>
* Makefile: add install-adolc
2005-06-30 <e_arnold>
* hqp/Hqp_IpLQDOCP.[hC]: revert to previous revision 1.3/1.8
2005-06-30 <rfranke>
* omu/Prg_SFunction.C, hxi/Hxi_SimStruct.[hC], hxi/Hxi_mx_parse.h:
support MEX and Hxi S-functions at the same time
* omu/Prg_SFunction.[hC], omu/Prg_SFunctionOpt.C, omu/Prg_SFunctionEst.[hC],
omu/Omu_Program.[hC], omu/Omu_IntODE.[hC],
odc/Prg_DIC_SFunction.[hC], odc/Prg_DID_SFunction.[hC]:
resolve name clashes with gcc's ctype.h (_X, _U, _S, _P)
* configure.in, configure:
improve autoconf for Tcl under Windows using different compilers
2005-06-29 <rfranke>
* omu/Prg_SFunctionEst.h: bug fix in set_mdl_x0s
(initial states for multiple experiments were wrong with init_simulation)
* hqp/hqp_solve.tcl: raise new error "evaluation" if
prg_f or sqp_norm_inf are infeasible after a model evaluation
2005-06-14 <rfranke>
* hxi/cg_sfun.h, hxi/Hxi_sfun_types.h, hxi/Hxi_SimStruct_methods.h,
hxi/Hxi_SimStruct.h, hxi/Hxi_SimStruct.C:
- treat files required to build an Hxi S-function for a model
outside Hqp solver
2005-05-27 <e_arnold>
* adol-c/hqp_adolc.patch:
modify adolc/adouble.h for gcc 3.4.2
2005-01-19 <rfranke>
* hxi/Hxi_SimStruct.[hC], hxi/Hxi_MEX_SFunction.[hC], Makefile:
- introduce templates to avoid conflicts between Hxi::SimStruct
for double and adouble
- reorder macro definitions
* omu/Prg_SFunction.C:
- fix error check for failed dynamic loading of S-function
2005-01-17 <rfranke>
* hxi/Hxi_MEX_SFunction.[hC], hxi/Hxi_SFunction.[hC], hxi/cg_sfun.h,
hxi/Hxi_SimStruct.h, hxi/Hxi_sfun_types.h, hxi/simstruc.h,
omu/Makefile, omu/Prg_SFunction.h:
- hide implementation details of SimStruct behind C calling interface
* hxi/Hxi_SimStruct_methods.h:
- new file collecting supported SimStruct and mxArray methods
* hxi/Hxi_SimStruct.C:
- new file implementing Hxi::SimStruct and optionally directing
calls to MEX S-function
* hxi/Hxi_mxArray.h:
- remove separate file for Hxi::mxArray
* odc/mex.tcl.in, odc/Prg_DID_SFunction.C, odc/Prg_DIC_SFunction.C,
omu/Prg_SFunction.C:
- adapt to SimStruct changes
* configure.in: rename OMU_WITH_MEX to HXI_WITH_MEX, remove HXI_DEFS
* makedefs.in, Makefile: adapt MEX test to only run for shared build
2005-01-14 <e_arnold>
* adol-c, configure.in, configure, Makefile, makedirs.in,
odc/Makefile.in:
- Remove adol-c/adolc directory tree from CVS. Rebuild from
adolc-1.9.0-PL2.tar.gz during configure.
* hqp/Hqp_IpLQDOCP.[hC]
- replace BKPfactor, BKPsolve by matBKPfactor, matBKPsolve
2005-01-11 <rfranke>
Add support for native external S-functions,
in addition to external MEX S-functions and inlined S-functions
* hxi/Hxi_SimStruct.h, hxi/cg_sfun.h:
- add pointers to S-function methods
- add some ss-macros, in particular for Jacobian
- add entry point Hxi_SimStruct_init
* hxi/Hxi_SFunction.[hC]:
- new calling wrapper for native external S-functions
(cf. Hxi_MEX_SFunction.[hC] for MEX S-functions)
* hxi/Hxi_mxArray.h:
- add support for strings
* hxi/Hxi_sfun_types.h, hxi/simstruc.h:
- change default HXI_REAL_T from adouble to double
* odc/Prg_DIC_SFunction.[hC], odc/Prg_DID_SFunction.[hC]:
- adapt examples inlining S-function code
* odc/sfun_dic.c:
- enable mdlJacobian for all builds
* odc/mex.tcl.in:
- extend with building of native binary S-function