select = true;
}
- set_maxmin_system(lmm::System::build(cfg_network_solver, select));
+ set_maxmin_system(lmm::System::build(cfg_network_solver.get(), select));
loopback_.reset(create_link("__loopback__", {config::get_value<double>("network/loopback-bw")}));
loopback_->set_sharing_policy(s4u::Link::SharingPolicy::FATPIPE, {});
/* WI-FI links needs special treatment, do it here */
if (src_wifi_link != nullptr) {
- /* In case of 0Mbps data rate, don't consider it in the LMM */
if (src_wifi_link->get_host_rate(src) > 0)
get_maxmin_system()->expand(src_wifi_link->get_constraint(), action->get_variable(),
1.0 / src_wifi_link->get_host_rate(src));
- else
+ else {
get_maxmin_system()->update_variable_penalty(action->get_variable(), 0);
+ }
}
+
if (dst_wifi_link != nullptr) {
if (dst_wifi_link->get_host_rate(dst) > 0)
get_maxmin_system()->expand(dst_wifi_link->get_constraint(), action->get_variable(),
1.0 / dst_wifi_link->get_host_rate(dst));
- else
+ else {
get_maxmin_system()->update_variable_penalty(action->get_variable(), 0);
+ }
}
for (auto const* link : route) {