428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
|
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
|
-
+
-
-
-
+
+
-
-
+
|
let active_constraints = self.active_constraints.read().unwrap()[0..y.len()].to_vec();
self.pool
.as_ref()
.unwrap()
.execute(move || match sub.write().unwrap().evaluate(&y, active_constraints) {
Ok((objective, subg, primal)) => {
tx.objective(objective).unwrap();
tx.minorant(
tx.minorant(Minorant {
Minorant {
constant: objective,
linear: subg,
constant: objective,
linear: subg,
},
primal,
)
})
.unwrap();
}
Err(err) => tx.error(err).unwrap(),
});
Ok(())
}
|