RsBundle  History of src/solver.rs of 12aebdedf7c29df3

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of file src/solver.rs at check-in 12aebdedf7c29df3

2019-12-21
22:48
Merge release file: [efa312ef3b] check-in: [51732172c2] user: fifr branch: modifyprimals, size: 38392
21:28
Add `dyn` to trait object types file: [3b74e53843] check-in: [45d9ecf62b] user: fifr branch: modifyprimals, size: 38020
21:02
Add `dyn` to trait object types file: [81a7f70f2c] check-in: [147bcf602c] user: fifr branch: release, size: 37371
2019-11-22
09:24
problem: make `ResultSender` a trait with implementation `ChannelSender` file: [7be3579b36] check-in: [43abfc4c67] user: fifr branch: result-sender, size: 873
2019-07-30
09:19
Copy `sync` to `asyn` module as a basis file: [5d3829ae1b] check-in: [8fb77f4bd8] user: fifr branch: async-separation, size: 858
08:01
Added: Rearrange master problem module file: [b4051a484d] check-in: [d5eed55bb2] user: fifr branch: restructure, size: 843
07:25
Deleted: Remove old sequential solver check-in: [b194454b53] user: fifr branch: restructure, size: 0
2019-07-25
13:53
Merge trunk file: [a71f21551d] check-in: [f0a36f7482] user: fifr branch: async, size: 35706
13:46
firstorderproblem: pass the subproblem index to `extend_subgradient` file: [15ce9dfd36] check-in: [166a377203] user: fifr branch: trunk, size: 37355
13:42
Fix indexing of minorants in solver. Each minorants is assigned a globally unique and invariant identifier. This identifiers is always used to refer to that minorant. The former implementation violated this rule during the model update when the subgradient extension callback is called. This caused the wrong primal to be used for the subgradient extension ultimately leading to wrong subgradients/minorants. file: [99b5b53ffb] check-in: [4728cdaec5] user: fifr branch: trunk, size: 37350
10:31
firstorderproblem: pass the subproblem index to `extend_subgradient` file: [c42c150531] check-in: [ff30e74d44] user: fifr branch: async, size: 35123
2019-07-22
11:50
Move additional requirements to basic traits. This includes bounds on `Send` and `'static` so that master problems and function oracles can always be used in threads. The requirements have always been there as additional bounds for the solvers, but it is easier (and more descriptive) to state them in the basic traits. file: [1b320ebacd] check-in: [2c9472f892] user: fifr branch: async, size: 35117
09:05
Move convenience typs to crate level file: [9d49695f1b] check-in: [adb6de0ae8] user: fifr branch: master-builder, size: 35297
08:52
Introduce master problem builder file: [327a9fd3a1] check-in: [5ee9fe59e5] user: fifr branch: master-builder, size: 35668
2019-07-20
14:17
Remove unused parameters from `SolverParam` file: [deb6acb86d] check-in: [f5557bc6af] user: fifr branch: async, size: 35179
13:56
Implement new generic terminator interface file: [8927bbba47] check-in: [ff06564d0f] user: fifr branch: terminator, size: 36597
12:20
Implement new generic weigther interface file: [16bebc90af] check-in: [8dc408e351] user: fifr branch: weighter, size: 37220
2019-07-19
14:14
Implement `Default` for `StandardTerminator` file: [afb993eaa5] check-in: [6253cbde2b] user: fifr branch: async, size: 36889
14:05
Basic implementation of parallel solver file: [ba9aceeb6f] check-in: [c73935e202] user: fifr branch: async, size: 36771
2019-07-17
19:21
Add `MasterProblem::Err` type variable file: [8a59c36f6b] check-in: [2d05075c29] user: fifr branch: async, size: 36800
15:38
Simplify error handling (again) by using boxed errors file: [57470ce51a] check-in: [b6b5c1ec21] user: fifr branch: async, size: 36759
14:41
solver: make master problem a type argument file: [f2405d0d0b] check-in: [6186a4f7ed] user: fifr branch: async, size: 36835
14:14
master: add error type parameter for subgradient extension callback file: [963023b5d3] check-in: [f6352834ce] user: fifr branch: async, size: 36747
11:23
Make all errors Send + Sync file: [2b70ef0100] check-in: [1e94fdd305] user: fifr branch: async, size: 36719
2019-07-15
19:44
Merge trunk file: [a6eb090eb3] check-in: [3eeaf28f08] user: fifr branch: async, size: 36703
19:33
Modernize some clippy warnings file: [e0c8d065be] check-in: [394e0533c6] user: fifr branch: trunk, size: 36772
12:48
Merge trunk file: [252fd5c5fe] check-in: [ecb9507ef3] user: fifr branch: aggregatable, size: 36731
12:32
Solver: add `solve_with_limit` file: [00b1b4283a] check-in: [2314de719c] user: fifr branch: trunk, size: 36800
12:29
Solver: call `init` from `solve` not from `solve_iter`. `solve_iter` is supposed to be called several times. Hence the solver must not be reinitialized each time the function is called. file: [7aad005306] check-in: [7749770720] user: fifr branch: trunk, size: 36492
12:20
Solver: simplify re-raise of master problem errors file: [802624df74] check-in: [bf831bc6e2] user: fifr branch: trunk, size: 36492
11:18
Solver: simplify `aggregated_primals` file: [259796f0a0] check-in: [3c9ee37585] user: fifr branch: aggregatable, size: 37008
10:58
FirstOrderProblem: require `Primal` to be aggregatable. This allows to remove the `aggregate_primals` methods. file: [916c4342a2] check-in: [a98dc9db36] user: fifr branch: aggregatable, size: 36985
10:33
solver: fix initialization of `Solver` in `solve_iter` file: [7bfe7b8320] check-in: [80086db562] user: fifr branch: trunk, size: 37077
2018-12-12
15:41
Merge trunk file: [c304a5796a] check-in: [e1f5bd7920] user: fifr branch: modifyprimals, size: 38005
15:38
Replace `extern crate` with `use` file: [ba7a4b93d6] check-in: [32372fda04] user: fifr branch: trunk, size: 36996
15:30
Update to 2018 edition file: [b94b2f5d16] check-in: [80cbe311ac] user: fifr branch: trunk, size: 36948
2018-08-30
11:07
Implement `Update::ModifyPrimals` file: [e29d89e899] check-in: [a5c90ab126] user: fifr branch: modifyprimals, size: 37929
09:04
Add `Update::ModifyPrimal` update information file: [f155d33946] check-in: [ee9e94be2a] user: fifr branch: modifyprimals, size: 36987
2018-08-18
11:15
Reformat file: [d00a050ed7] check-in: [4dad0cad83] user: fifr branch: error-handling, size: 36920
2018-06-27
07:05
solver: remove unnecessary `move` from extend subgradient closure file: [1f983703ce] check-in: [f410ce94ba] user: fifr branch: error-handling, size: 36937
2018-06-26
21:39
Implement `MasterProblemError` as more specific enum file: [d7e36dbc14] check-in: [58f8ffe7a1] user: fifr branch: error-handling, size: 36946
21:17
master: Subgradient extension callback may return an error. This callback eventually calls a method of the oracle and may fail with some user error. This error is now returned to the master problem and finally back to the solver. file: [b6153a17f5] check-in: [cd30b6f272] user: fifr branch: error-handling, size: 36955
13:46
Remove explicit lifetime from `FirstOrderOracle` file: [74791750a7] check-in: [0b6fbe2b30] user: fifr branch: error-handling, size: 36944
13:40
Remove dependency on `failure` crate file: [b3aec054b9] check-in: [ade34c179c] user: fifr branch: error-handling, size: 37130
2018-06-06
20:17
Fix several clippy warnings file: [28b7c84320] check-in: [1adcbb8b61] user: fifr branch: trunk, size: 35648
2017-12-13
22:48
Remove empty lines file: [fce6115f84] check-in: [25714ffdea] user: fifr branch: trunk, size: 36446
2017-11-21
10:06
Reformat sources using `rustfmt` file: [4c52cb0a4e] check-in: [998cbd7227] user: fifr branch: trunk, size: 36544
2017-11-20
09:24
BoxedMasterProblem is now constructed with wrapped unconstrainted master. It is more idiomatic to pass the wrapped UnconstrainedMasterProblem to the constructor instead of constructing the wrapped master in the constructor. An advantage is that errors raised by the construction of the unconstrainted master can be handled more directly. file: [32611c01f0] check-in: [7293704f87] user: fifr branch: trunk, size: 35288
09:15
Improve dimension check in master initialization. file: [9033b303ef] check-in: [443fb2dfa5] user: fifr branch: trunk, size: 35195
09:11
Refactoring file: [4aa50b81f7] check-in: [741fb52a85] user: fifr branch: trunk, size: 35060
09:05
solver: remove remaing `try!` file: [da260ba320] check-in: [40f31dd62c] user: fifr branch: trunk, size: 35124
09:02
Refactor `SolverError::Parameter` file: [0a18c57aec] check-in: [c24cf8d06e] user: fifr branch: trunk, size: 35154
07:55
Add SolverError variants for master and oracle errors. file: [65aaf151b7] check-in: [b0a2986e97] user: fifr branch: trunk, size: 35165
2017-11-19
20:30
Add possible error handling to master problem methods file: [8002945ba0] check-in: [16ede320bb] user: fifr branch: trunk, size: 34282
2017-11-18
21:42
Use `failure` for error handling. file: [19739b1f71] check-in: [df7544e94f] user: fifr branch: trunk, size: 34206
2017-11-02
08:42
Use digit separators in long integer literals file: [6e636361ef] check-in: [ff47afc279] user: fifr branch: trunk, size: 35707
2017-04-18
13:08
solver: do not call `init` in `solver_iter`. file: [28dfff2517] check-in: [fb00b3c18e] user: fifr branch: trunk, size: 35704
13:04
Solver::solve returns `Error::IterationLimit` if limit has been reached. file: [2fb2644257] check-in: [9bbb1b8836] user: fifr branch: trunk, size: 35527
12:59
solver: add `solver_iter` method. file: [9f2e1d5fce] check-in: [10b0be88b8] user: fifr branch: trunk, size: 35587
2017-03-07
16:52
solver: fix updating of `self.bounds` when adding new variables. file: [ebedc1def0] check-in: [34ecdf278f] user: fifr branch: trunk, size: 34832
2017-03-06
16:58
master: allow moving of existing variables. This changes the master problem API, but the implementation of `boxed` does not yet implement this feature. file: [3605d4b83e] check-in: [3d746e5739] user: fifr branch: trunk, size: 34724
16:50
Add `MoveVariable` update. The `Solver` struct accepts these updates and handles them. However, they are not passed to the master problem, yet. file: [96f26bc075] check-in: [ce9ab8ec19] user: fifr branch: trunk, size: 34756
16:35
solver: silence a clippy warning. file: [7348ac40b4] check-in: [8b9adfcbb9] user: fifr branch: trunk, size: 33389
2017-03-03
15:46
solver: fix adding new variables to master. file: [2240c2056b] check-in: [705a1cf52f] user: fifr branch: trunk, size: 33324
15:41
solver: set center value of newly separated variables correctly. The former implementation only worked with new variables being centered at 0. file: [e18c9059e9] check-in: [5e794600f2] user: fifr branch: trunk, size: 33324
2017-02-28
10:56
solver: add `center` and `candidate` methods. file: [f8fd08c306] check-in: [86f5e96862] user: fifr branch: trunk, size: 33227
2017-02-22
16:32
Remove `DVector` from external API. The use of `[Real]` or `Vec<Real>` is sufficient in most cases. file: [6c293f03e8] check-in: [d7ed56f9b3] user: fifr branch: trunk, size: 33005
2017-01-20
09:19
Refactor several lint warnings. file: [c77f09f605] check-in: [f0ef5ba392] user: fifr branch: trunk, size: 33012
2016-10-19
07:37
Run `rustfmt` on all sources. file: [ed65331a99] check-in: [2bc4277460] user: fifr branch: trunk, size: 32991
2016-10-13
17:47
Change parameters of `FirstOrderProblem::aggregate_primals`. Now the primals and coefficients are passed as (coeff, primal) pairs. This ensures that the number of coefficients always equals the number of primals by design. file: [7c9788ca5e] check-in: [5221a3331a] user: fifr branch: trunk, size: 32025
2016-10-11
08:50
Add variable+value update. file: [12134cfbf2] check-in: [8d2547a9f9] user: fifr branch: trunk, size: 32036
08:45
solver: Check bounds for validity. file: [f80b6e5c56] check-in: [d67ab3a0b0] user: fifr branch: trunk, size: 31595
2016-10-10
20:33
solver: Add `last_primal` method to `UpdateState`. file: [455923779f] check-in: [40a866dae4] user: fifr branch: trunk, size: 30717
20:33
solver: Add `cur_y` and `nxt_y` fields to `UpdateState`. file: [138b031a5e] check-in: [2b281a925b] user: fifr branch: trunk, size: 30462
14:43
Add `IterationInfo` to update state. file: [dbdd4928cb] check-in: [8d6b894491] user: fifr branch: trunk, size: 29785
2016-10-06
09:28
solver: Call `update_problem` only once per iteration. file: [0e8d373bd7] check-in: [d08662bfb8] user: fifr branch: trunk, size: 29072
06:27
solver: Add a debug assertion. file: [1b2d1b0ca6] check-in: [f7d5aaf424] user: fifr branch: trunk, size: 29117
2016-10-05
20:20
solver: Enlarge vectors when adding new variables. file: [1e525fe60f] check-in: [039c268628] user: fifr branch: trunk, size: 29044
20:14
solver: Remove duplicate method `update_problem`. file: [b88a135ee0] check-in: [8d95c5134e] user: fifr branch: trunk, size: 28861
20:11
solver: Do not terminate of problem has been changed. file: [361c9d2845] check-in: [3248967d1a] user: fifr branch: trunk, size: 29965
16:54
Add problem update callback. file: [41149cfa3a] check-in: [814bd7230a] user: fifr branch: trunk, size: 28626
12:58
solver: Update multipliers from master in `solve_model`. This is required so that `aggregated_primals` returns the correct multipliers even if no futher iteration is executed. In particular, if only one iteration is executed. file: [f39de7c967] check-in: [106f4bb24e] user: fifr branch: trunk, size: 26779
2016-10-01
20:44
Make `aggregate_primals` take ownership of minorants. This makes sure the problem can track exactly when minorants are not used anymore. file: [f98417cdb4] check-in: [1318918860] user: fifr branch: trunk, size: 26719
20:03
Implement computation of aggregated primals. file: [08a7218298] check-in: [39420cd8e3] user: fifr branch: trunk, size: 26814
07:49
Aggregate primal information. For this, master problems must return the coefficients and the problem trait needs to implement an `aggregate` method. file: [ee0e357dc6] check-in: [7b213efa22] user: fifr branch: trunk, size: 25959
2016-09-30
19:42
FirstOrderProblem returns primal information along minorants. file: [9a81b4967c] check-in: [9a0f6816f5] user: fifr branch: trunk, size: 25184
2016-09-29
06:41
solver: Align info output of "_endit". file: [0b273ecacf] check-in: [a360cd0f65] user: fifr branch: trunk, size: 25174
06:38
solver: Fix computation of `new_cutval`. file: [a9806367ff] check-in: [12aebdedf7] user: fifr branch: trunk, size: 25173
06:37
solver: Initialize subgradient with first master evaluation. file: [d0928a45a4] check-in: [9d2ba83f87] user: fifr branch: trunk, size: 25142
06:37
solver: Handle error when setting the number of suproblems in the master. file: [4b4877061c] check-in: [a475dc4e2d] user: fifr branch: trunk, size: 24557
2016-09-28
21:15
solver: Fix fractions in time output. file: [57006d0aa4] check-in: [77d15f47e4] user: fifr branch: trunk, size: 24551
21:05
solver: Compress minorants with smallest multipliers. file: [23abb366ec] check-in: [a86c952bc8] user: fifr branch: trunk, size: 24550
16:31
solver: Handle minorants correctly. file: [28a03735c5] check-in: [e671068275] user: fifr branch: trunk, size: 24108
15:52
Add `MinorantIndex` as reference to minorants to master problem. file: [6402964398] check-in: [29f93aefac] user: fifr branch: trunk, size: 23723
15:15
solver: Use `CplexMaster` as default for large master problems. file: [592e0262e8] check-in: [cc9ce5ef15] user: fifr branch: trunk, size: 23702
15:02
Add `MasterProblem::set_num_subproblems`. file: [2c5245183b] check-in: [a89b3502b5] user: fifr branch: trunk, size: 23431
11:28
solver: Allow larger bundle sizes when compressing bundles. file: [647352101b] check-in: [1f65b89c9e] user: fifr branch: trunk, size: 23388
11:27
solver: Add validity check for parameters. file: [91e00af442] check-in: [4cf9ac6c65] user: fifr branch: trunk, size: 23283
11:26
solver: Make `params` public. file: [76c5cf11bf] check-in: [5fd72003f9] user: fifr branch: trunk, size: 21646
08:42
Document some modules file: [0918b9a32f] check-in: [07f16d6a13] user: fifr branch: trunk, size: 21642
06:10
solver: Reformat info output. file: [ea44ae6dda] check-in: [9768a88763] user: fifr branch: trunk, size: 21606
2016-09-27
10:46
Added: Initial record file: [1fd7985cd3] check-in: [4cd78f8116] user: fifr branch: trunk, size: 21603