model: Fix division by zero

This commit is contained in:
2025-11-14 10:14:20 -06:00
parent eedf023b47
commit b7d16fee3e

View File

@@ -4,13 +4,22 @@
using JuMP
R_expand(p::Plant, t::Int) =
(p.capacities[2].opening_cost[t] - p.capacities[1].opening_cost[t]) /
(p.capacities[2].size - p.capacities[1].size)
function R_expand(p::Plant, t::Int)
denominator = p.capacities[2].size - p.capacities[1].size
if denominator == 0
return 0.0
end
return (p.capacities[2].opening_cost[t] - p.capacities[1].opening_cost[t]) / denominator
end
R_fix_exp(p::Plant, t::Int) =
(p.capacities[2].fix_operating_cost[t] - p.capacities[1].fix_operating_cost[t]) /
(p.capacities[2].size - p.capacities[1].size)
function R_fix_exp(p::Plant, t::Int)
denominator = p.capacities[2].size - p.capacities[1].size
if denominator == 0
return 0.0
end
return (p.capacities[2].fix_operating_cost[t] - p.capacities[1].fix_operating_cost[t]) /
denominator
end
function build_model(instance::Instance; optimizer, variable_names::Bool = false)
model = JuMP.Model(optimizer)