Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using JuMP
- using Gurobi
- using Printf
- include("41DATA.jl")
- phi = [0.9 0.85]
- CHP = [400 250]
- QMAX = [5 5]
- EPB = 2
- EPBCHP =150
- T = length(Hour)
- I = length(CHP)
- #R = length(homes)
- # Model
- HB3 = Model(solver=GurobiSolver())
- #Variable
- @variable(HB3, efficiency[1:I])
- @variable(HB3, q[1:I, 1:T] >= 0)
- @variable(HB3, th[1:4, 1:T] >=0)
- @variable(HB3, be >= 0)
- @variable(HB3, P[1:T] >= 0)
- @variable(HB3, G[1:T] >= 0)
- #Constraint
- #@constraint(HB3, efficiency[1] == 1)
- @constraint(HB3, efficiency[1] == 1)
- @constraint(HB3, efficiency[2] == 0.65)
- #Keeping below the maqimum
- for t =1:T
- for i = 1:I
- @constraint(HB3, q[i,t] <= QMAX[i])
- @constraint(HB3, G[t] <= EPB)
- end
- end
- #th 1
- for t = 1:T
- @constraint(HB3, be >= sum(EPBCHP*P[t]+th[1,t] for t=1:T))
- @constraint(HB3, -th[1,t] <= EPBCHP*G[t])
- @constraint(HB3, G[t] <= th[1,t])
- end
- #th 2
- for i=1:I
- for t = 1:T
- @constraint(HB3, P[t]+th[2,t]<=EPB)
- @constraint(HB3, -th[2,t] <= G[t])
- @constraint(HB3, G[t] <= th[2,t])
- end
- end
- #th 3
- for i=1:I
- for t=1:T
- @constraint(HB3,sum(q[i,t]*efficiency[i] for i = 1:I)+P[t]-th[3,t] >= Q[t])
- @constraint(HB3, -th[3,t] <= G[t])
- @constraint(HB3, G[t] <= th[3,t])
- end
- end
- #th 4
- for i=1:I
- for t=1:T
- @constraint(HB3, P[t] >= th[4,t])
- @constraint(HB3, -th[4,t] <= G[t])
- @constraint(HB3, G[t] <= th[4,t])
- end
- end
- @objective(HB3, Max, sum(q[i,t]*lamb[t]*phi[i] for i=1:I, t=1:T) - sum(q[i,t]*CHP[i] for i=1:I, t=1:T)-be)
- solution = solve(HB3)
- #**********************************************************
- print(HB3)
- #************************************************************************
- # Report results
- println("The qs are: $(getvalue(q))")
- println("The Gs are: $(getvalue(G))")
- println("The Ps are: $(getvalue(P))")
- println("The thetas are: $(getvalue(th))")
- println("The betas are: $(getvalue(be))")
- @printf "objective = %0.2f\n" getobjectivevalue(HB3)
- #println("\n\n-------------------------------------");
- #println("Objective value: ",getobjectivevalue(HB3))
- #println("-------------------------------------");
- # println("The c1 is: $(getvalue(c1))")
- # println("The c2 is: $(getvalue(c2))")
- # println("a21 is: $(getvalue(a21))")
- #else
- # println(" No solution")
- #end
- println("--------------------------------------");
- #************************************************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement