using Modolib
instance, true_frontier = read_boap_hadi(10)
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
hg, c, mc, ac, u = compute_quality_of_apprx_frontier(nondominated_frontier, true_frontier)
println("
Hypervolume Gap = $hg %
Cardinality = $c %
Maximum Coverage = $mc
Average Coverage = $ac
Uniformity = $u")
hg, c, mc, ac, u = compute_quality_of_norm_apprx_frontier(nondominated_frontier, true_frontier)
println("
Hypervolume Gap = $hg %
Cardinality = $c %
Maximum Coverage = $mc
Average Coverage = $ac
Uniformity = $u")
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot2.png")

instance, true_frontier = read_bokp_xavier1("2KP150-1A")
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot3.png")

instance, true_frontier = read_bokp_hadi(1)
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot4.png")

instance, true_frontier = read_boscp_xavier("2scp41A")
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot5.png")

instance, true_frontier = read_bospp_xavier("2mis100_300A")
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot6.png")

instance, true_frontier = read_bomip_hadi(6)
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
hg, c, mc, ac, u = compute_quality_of_apprx_frontier(nondominated_frontier, true_frontier, true)
println("
Hypervolume Gap = $hg %
Cardinality = $c %
Maximum Coverage = $mc
Average Coverage = $ac
Uniformity = $u")
hg, c, mc, ac, u = compute_quality_of_norm_apprx_frontier(nondominated_frontier, true_frontier, true)
println("
Hypervolume Gap = $hg %
Cardinality = $c %
Maximum Coverage = $mc
Average Coverage = $ac
Uniformity = $u")
plt_non_dom_frntr_bomip([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], "Plot7.png")

instance, true_frontier = read_bouflp_hadi(12)
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
plt_non_dom_frntr_bomip([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], "Plot8.png")

instance, true_frontier = read_moap_kirlik(3, 5, 1)
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
hg, c, mc, ac, u = compute_quality_of_apprx_frontier(nondominated_frontier, true_frontier)
println("
Hypervolume Gap = $hg %
Cardinality = $c %
Maximum Coverage = $mc
Average Coverage = $ac
Uniformity = $u")
hg, c, mc, ac, u = compute_quality_of_norm_apprx_frontier(nondominated_frontier, true_frontier)
println("
Hypervolume Gap = $hg %
Cardinality = $c %
Maximum Coverage = $mc
Average Coverage = $ac
Uniformity = $u")
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot9.png")

instance, true_frontier = read_mokp_kirlik(3, 10, 1)
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot10.png")

instance, true_frontier = read_mombp_aritra(3, 320, 1)
@time solutions = fpbhcplex(instance, timelimit=10.0)
nondominated_frontier = wrap_sols_into_array(solutions)
plt_discrete_non_dom_frntr([true_frontier, nondominated_frontier], ["True Frontier", "FPBHCPLEX"], false, "Plot11.png")
