RsBundle  History of src/mcf/problem.rs of fa31409d9b31078d

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

History of file src/mcf/problem.rs at check-in fa31409d9b31078d

2024-07-16
13:30
mcf: fix handling empty primals. Before the first iteration the `create_update` callback is called once with empty primals (because there is none, yet). There are no (separated) variables, either. We must not separate anything in this case (and must not call `evaluate_constraint` because it will fail). file: [1eca0863f7] check-in: [addf0513e0] user: fifr branch: trunk, size: 21637
2024-01-02
17:03
mcf::problem: remove unnecessary `&` file: [af219fecb4] check-in: [9b083078db] user: fifr branch: trunk, size: 21361
2023-08-12
17:44
Merge trunk file: [60016af5ae] check-in: [4199625023] user: fifr branch: mpi, size: 21365
17:43
problem::FirstOrderProblem: use implicit impl traits file: [1ccd346fa5] check-in: [d979db1a2e] user: fifr branch: trunk, size: 20962
2023-07-08
17:55
mcf::problem: do not crash on send errors. Sending result data could fail if the solver has already terminated. This is possible in an asynchronous setting. We show a warning in this case. file: [e6ada6751c] check-in: [76c491ed4d] user: fifr branch: mpi, size: 21398
11:02
examples/mmcf: first send minorant, then objective. This is currently (for testing) necessary because otherwise the asynchronous solver won't do a step. file: [52cec0fe93] check-in: [0778fd3534] user: fifr branch: mpi, size: 20995
2023-05-08
15:30
mcf::problem: remove unnecessary parentheses file: [543e93f831] check-in: [26a59bba75] user: fifr branch: mpi-cvx, size: 20995
2023-04-06
15:00
mpi: rename `create_update` to `compute_update` file: [46b3074e75] check-in: [a11ffd8f5a] user: fifr branch: mpi, size: 20997
2023-04-05
21:24
Fix many clippy/linter warnings file: [e79992a54d] check-in: [d02e699a01] user: fifr branch: mpi, size: 20996
19:58
mcf::problem: remove some unnecessary qualifications file: [d8098b4e22] check-in: [63a3ee04b4] user: fifr branch: mpi, size: 21233
19:56
mcf::problem: fix deprecated use if `INFINITY` file: [d26253230b] check-in: [3cdbaa73cf] user: fifr branch: mpi, size: 21271
19:48
mcf::problem: store complete `subdatas` vec in an `Arc`. The `subdatas` vec is read-only anyway. The new implementation prevents some unnecessary copies. file: [1db912172c] check-in: [c2cde07f32] user: fifr branch: mpi, size: 21290
19:46
mpi: `create_update` takes a callback instead of a channel. file: [6fa6afde94] check-in: [48e285c382] user: fifr branch: mpi, size: 21226
09:46
Add `DistributedFirstOrderProblem` trait file: [2eab402155] check-in: [78fe5f1328] user: fifr branch: mpi, size: 22936
2023-01-16
14:31
mmcf: add configuration for artificial delays file: [638e947dea] check-in: [abf6b6de39] user: fifr branch: trunk, size: 19812
2022-06-08
20:19
mcf::problem: fix selecting the user choosen mcf solver file: [01befe0aa0] check-in: [7c74440116] user: fifr branch: trunk, size: 18770
2022-03-28
10:21
Merge release file: [ae593954f6] check-in: [4c8b43ef8f] user: fifr branch: trunk, size: 18723
10:19
mcf::problem: update copyright year file: [580e529aa4] check-in: [fe8bea1bbd] user: fifr branch: release, size: 10490
10:19
mcf::problem: allow dead code in `ArcInfo` file: [f60ab0f70e] check-in: [9ba0a5332b] user: fifr branch: release, size: 10490
2021-07-05
08:37
mcf::problem: remove unused import `Read` file: [d22b9cd75a] check-in: [0d03d60d89] user: fifr branch: trunk, size: 18703
2021-07-01
07:27
mmcf: remove now unsupported `multimodel` option file: [d1725d5d42] check-in: [fa31409d9b] user: fifr branch: trunk, size: 18709
07:18
mmcf: add some doc comments file: [1b69b2b864] check-in: [78b057dcc9] user: fifr branch: trunk, size: 19040
2021-06-30
20:22
mmcf: simplify reading netgen instances file: [a8ae14dfaa] check-in: [ff08b91f61] user: fifr branch: trunk, size: 17710
12:22
mcf/problem: remove unneeded `&` file: [4c23583ac2] check-in: [e3b961e889] user: fifr branch: trunk, size: 18034
09:43
mmcf: allow to select network flow solver when reading mnetgen instances file: [4f0d0c5b61] check-in: [736a0d7893] user: fifr branch: mcf-trait, size: 18035
09:42
MCF solvers now implement the trait `mcf::Solver` file: [f053b466d4] check-in: [76363b77bc] user: fifr branch: mcf-trait, size: 17800
2021-06-29
07:13
mcf::problem: use format version of `assert!` file: [eaeccc6ada] check-in: [3f333f2454] user: fifr branch: release, size: 10470
2021-05-09
19:33
Address some clippy warnings file: [c69a786370] check-in: [ad538a4f5b] user: fifr branch: trunk, size: 17772
2021-05-07
20:25
Add rs-graph-based mmcf solver file: [8812d1b271] check-in: [39f01e7103] user: fifr branch: trunk, size: 17900
2020-07-22
17:53
mcf: split mutable and non-mutable data of subproblems file: [10420dafee] check-in: [90cbecbf84] user: fifr branch: async, size: 17890
17:01
mcf: split mutable and non-mutable data of subproblems file: [3be3d17495] check-in: [5a539bbac0] user: fifr branch: garbage, size: 17895
16:32
mcf: reduce exclusive areas using some locks file: [cbb8ee8cd8] check-in: [14d0e18966] user: fifr branch: async, size: 17639
2020-07-21
10:52
solver: remove `nxt_submods` file: [9063b3390b] check-in: [5e896f316a] user: fifr branch: async, size: 17464
2020-07-20
19:32
Merge trunk file: [363573ea45] check-in: [5ea4ec77c8] user: fifr branch: async, size: 17464
15:02
Simplify `Minorant` API and remove `Extendable` file: [802a398090] check-in: [1f0489f726] user: fifr branch: minorant-trait, size: 18637
10:29
Master problem convert minorants to some internal representation. file: [e634f8a692] check-in: [7189c81425] user: fifr branch: minorant-trait, size: 18659
08:48
Add `Extendable` trait file: [9632706c0d] check-in: [42021dd676] user: fifr branch: minorant-trait, size: 18643
08:46
mcf: fix index in separation file: [dd79ec2e41] check-in: [d4b9cff708] user: fifr branch: minorant-trait, size: 18635
2020-07-19
20:47
Make `Minorant` a trait file: [5d8c60f7be] check-in: [095240b3e2] user: fifr branch: minorant-trait, size: 18628
2020-07-18
18:49
Merge trunk file: [4acdb78c37] check-in: [e12bd4bd5d] user: fifr branch: async, size: 17546
12:24
Add `primal` field to `Minorant` file: [76d4d166a8] check-in: [be42fa28cd] user: fifr branch: minorant-primal, size: 18719
2020-06-15
09:04
mcf.problem: simplify errors using `thiserror` file: [bc90c661ec] check-in: [522e74fdf6] user: fifr branch: error, size: 17605
2020-06-11
18:35
Move `SubModel` to submodule `guessmodels::GuessModel` file: [f39ce7d880] check-in: [b7b6413301] user: fifr branch: garbage, size: 19232
2020-02-26
15:19
Merge trunk file: [70e7510a9d] check-in: [5a51954703] user: fifr branch: async, size: 18796
15:04
Remove dependency on `itertools` file: [c4a0a1f3ac] check-in: [053ea63481] user: fifr branch: trunk, size: 18778
2019-12-22
16:44
Mark all `Error` enums as non-exhaustive file: [398b1f8127] check-in: [3f7a044a98] user: fifr branch: async, size: 18748
2019-12-21
21:28
Add `dyn` to trait object types file: [f6d580e450] check-in: [45d9ecf62b] user: fifr branch: modifyprimals, size: 10448
21:02
Add `dyn` to trait object types file: [c6c5fd1786] check-in: [147bcf602c] user: fifr branch: release, size: 10454
2019-11-22
21:24
Fix some clippy warnings file: [2c051afd23] check-in: [7e04a844ca] user: fifr branch: trunk, size: 18730
13:17
Implement `UpdateSender` as a trait file: [314948473b] check-in: [af51c49bb3] user: fifr branch: result-sender, size: 18765
09:24
problem: make `ResultSender` a trait with implementation `ChannelSender` file: [238c160bb9] check-in: [43abfc4c67] user: fifr branch: result-sender, size: 18898
09:01
problem: hide result channel in opaque type `ResultSender` file: [ccc5e2a128] check-in: [4d0fdfb346] user: fifr branch: result-sender, size: 18930
2019-08-23
10:47
mcf: remove `num_traits` file: [6992c85674] check-in: [9b15c8f8e3] user: fifr branch: no-num-traits, size: 19156
2019-08-09
07:39
mmcf: check for valid nodes and commodities in supply file. file: [7573395e95] check-in: [2b78ee841c] user: fifr branch: trunk, size: 19201
06:56
mmcf: raise error on invalid capacity constraint index file: [d523a5feb6] check-in: [8bc7072907] user: fifr branch: mnetgen-read-error, size: 18985
06:52
mmcf: raise error on extra fields at the end of lines file: [25616d165a] check-in: [c7b636d0d4] user: fifr branch: mnetgen-read-error, size: 18664
06:50
mmcf: fix error raised on invalid commodity file: [2c8d15e0c9] check-in: [7fc39a4811] user: fifr branch: mnetgen-read-error, size: 18376
06:50
mmcf: handle invalid node/arcs/com as error file: [18091bd83a] check-in: [8a398017bf] user: fifr branch: mnetgen-read-error, size: 18377
06:38
mmcf: replace assert with regular error file: [b4b9028f6f] check-in: [3bb0aadaec] user: fifr branch: mnetgen-read-error, size: 17182
06:35
mmcf: raise errors on missing fields when reading files file: [8faa4da25f] check-in: [da23337f70] user: fifr branch: mnetgen-read-error, size: 17105
06:23
mmcf: return error instead of panic on parse error file: [ba79a7e5a1] check-in: [1b93d52072] user: fifr branch: mnetgen-read-error, size: 16309
2019-08-07
14:27
mmcf: separate new constraints asynchronously file: [b2b6405f37] check-in: [df68dc2620] user: fifr branch: async-separation, size: 16293
13:59
problem: change bounds of `update` so it can be used asynchronously. We add several bounds on `index: I` and `state: U` parameters so the implementation of `update` could be done in a different thread. file: [6506acddf2] check-in: [663684e31c] user: fifr branch: async-separation, size: 15691
12:08
asyn: handle problem updates asynchronously file: [707afe389d] check-in: [dbb2741979] user: fifr branch: async-separation, size: 15692
2019-07-30
11:28
Simplify result types of `Display` impls file: [a0bf142dfd] check-in: [d1c6725705] user: fifr branch: trunk, size: 15447
07:40
Move `parallel` to `solver::sync` file: [6172754b54] check-in: [62c311d2a4] user: fifr branch: restructure, size: 15466
07:25
Remove old sequential solver file: [75d49b9540] check-in: [b194454b53] user: fifr branch: restructure, size: 15467
2019-07-26
08:08
Implement `Aggregatable` for vectors of aggregatables file: [4f7e8050b1] check-in: [7041eeba52] user: fifr branch: async, size: 19736
08:04
Improve interface of `Aggregatable`. The new interface requires two elementary operations which can be used to define `combine`. The latter method gets a default implementation, which should usually be as efficient as before. file: [9605187bf5] check-in: [1b2accaddf] user: fifr branch: async, size: 20340
2019-07-25
15:02
mmcf: fix some clippy warnings file: [438a7ad4d0] check-in: [8cb260149c] user: fifr branch: problem-update, size: 20350
14:50
mmcf: add `set_separate_constraints` method file: [16b1460343] check-in: [4e64e6a06c] user: fifr branch: mmcf-separation, size: 20318
14:24
mmcf: return early if no inactive constraints remain file: [0809fb85f1] check-in: [5401c89abf] user: fifr branch: mmcf-separation, size: 19865
14:24
mmcf: remove debug output file: [0aa151db8b] check-in: [98ffc4729c] user: fifr branch: mmcf-separation, size: 19686
14:21
mmcf: separate all capacity constraints file: [f1904e0966] check-in: [df9a12da5e] user: fifr branch: mmcf-separation, size: 19924
07:42
mmcf: maintain list of active constraints file: [52a5e60dff] check-in: [896b1829cc] user: fifr branch: mmcf-separation, size: 14426
07:35
mmcf: specify order of active constraints in subproblem evaluation file: [4d0d8e3712] check-in: [764878b044] user: fifr branch: mmcf-separation, size: 14135
2019-07-24
08:00
Relax requirements of `Aggregatable::combine` to `Borrow`. Instead of an iterator over references the new implementation of `combine` requires the elements only to implement `Borrow`. This way it can be called with references as well as with values. file: [28ba542a76] check-in: [f459ca047d] user: fifr branch: parallel-primal, size: 13768
2019-07-23
14:30
mcf::problem: make MMCFProblem implement `parallel::FirstOrderProblem`. This implementation supports parallel evaluation of all subproblems. file: [b8a1a0b18b] check-in: [5c566d7149] user: fifr branch: mmcf-parallel, size: 13738
13:16
mmcf: put all subproblems in an `RwLock` file: [cd4a08d9a5] check-in: [fd63d80f7d] user: fifr branch: mmcf-parallel, size: 11732
13:06
mmcf: add independent evaluation of each subproblem file: [22dbb3e6fb] check-in: [9f344e6086] user: fifr branch: mmcf-parallel, size: 11705
12:12
mmcf: move rhs data to `Subproblem` file: [6f4813065b] check-in: [72531a536b] user: fifr branch: mmcf-parallel, size: 12501
11:57
mmcf: move lhs data to `Subproblem` file: [42c0648a42] check-in: [7138078a5c] user: fifr branch: mmcf-parallel, size: 12337
11:21
mmcf: split data in `Subproblem` structure file: [5e30ccea47] check-in: [4d96ced3a6] user: fifr branch: mmcf-parallel, size: 12280
2019-07-17
11:23
Make all errors Send + Sync file: [af9c7cb9db] check-in: [1e94fdd305] user: fifr branch: async, size: 12044
2019-07-15
19:53
mcf.problem: use `iter` instead of `into_iter` file: [4206da236f] check-in: [f1406e69ec] user: fifr branch: aggregatable, size: 10841
10:58
FirstOrderProblem: require `Primal` to be aggregatable. This allows to remove the `aggregate_primals` methods. file: [e48ceabc0d] check-in: [a98dc9db36] user: fifr branch: aggregatable, size: 10846
2018-12-12
15:38
Replace `extern crate` with `use` file: [1d218ba7f1] check-in: [32372fda04] user: fifr branch: trunk, size: 10444
15:30
Update to 2018 edition file: [5eb51307c2] check-in: [80cbe311ac] user: fifr branch: trunk, size: 10427
2018-08-18
11:15
Reformat file: [366d1deea7] check-in: [4dad0cad83] user: fifr branch: error-handling, size: 10542
2018-06-26
13:46
Remove explicit lifetime from `FirstOrderOracle` file: [e1b808fafe] check-in: [0b6fbe2b30] user: fifr branch: error-handling, size: 10555
13:40
Remove dependency on `failure` crate file: [13aab104c2] check-in: [ade34c179c] user: fifr branch: error-handling, size: 10613
2018-06-06
20:17
Fix several clippy warnings file: [2966fd1ffc] check-in: [1adcbb8b61] user: fifr branch: trunk, size: 10313
2017-12-13
22:48
Remove empty lines file: [5393f7f58c] check-in: [25714ffdea] user: fifr branch: trunk, size: 10855
2017-11-21
10:06
Reformat sources using `rustfmt` file: [cb063e3a78] check-in: [998cbd7227] user: fifr branch: trunk, size: 10988
2017-11-18
21:42
Use `failure` for error handling. file: [98d403e65f] check-in: [df7544e94f] user: fifr branch: trunk, size: 10209
2017-11-01
16:10
Add some missing type annotation when calling `sum` file: [025037c2ac] check-in: [02dee82532] user: fifr branch: trunk, size: 10921
2017-02-22
16:32
Remove `DVector` from external API. The use of `[Real]` or `Vec<Real>` is sufficient in most cases. file: [ead0953468] check-in: [d7ed56f9b3] user: fifr branch: trunk, size: 10905
2017-01-20
20:34
problem: refactor some loops using iterators. file: [245d4179ba] check-in: [358bb8efe2] user: fifr branch: trunk, size: 10925
09:19
Refactor several lint warnings. file: [5334a94900] check-in: [f0ef5ba392] user: fifr branch: trunk, size: 11002
2016-10-19
07:37
Run `rustfmt` on all sources. file: [3b0cb066ee] check-in: [2bc4277460] user: fifr branch: trunk, size: 11020
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: [57706d9f48] check-in: [5221a3331a] user: fifr branch: trunk, size: 10426
2016-10-02
07:02
mcf: Verify arc numbers when reading files. file: [27fc4afb03] check-in: [d98bdda26e] user: fifr branch: trunk, size: 10420
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: [2da0f0ecbc] check-in: [1318918860] user: fifr branch: trunk, size: 10273
20:03
Implement computation of aggregated primals. file: [6528434b02] check-in: [39420cd8e3] user: fifr branch: trunk, size: 10038
18:44
mmcf: Implement `aggregate_primals` file: [b43146dd8f] check-in: [44f8c93bc4] user: fifr branch: trunk, size: 9521
07:49
Aggregate primal information. For this, master problems must return the coefficients and the problem trait needs to implement an `aggregate` method. file: [08aeb41b7e] check-in: [7b213efa22] user: fifr branch: trunk, size: 9040
2016-09-30
19:42
FirstOrderProblem returns primal information along minorants. file: [3df13aeab3] check-in: [9a0f6816f5] user: fifr branch: trunk, size: 9019
2016-09-28
16:30
mcf: Support disaggregated subproblems. file: [7f584dec43] check-in: [4a174be0f5] user: fifr branch: trunk, size: 8980
06:15
Added: Add MMCF problem and solver. file: [bed26186fb] check-in: [3388440148] user: fifr branch: trunk, size: 8281