Skip to content

Commit

Permalink
Float64 and Test improvement
Browse files Browse the repository at this point in the history
  • Loading branch information
YoungFaithful committed May 1, 2019
1 parent b184a06 commit f65dd66
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 22 deletions.
12 changes: 6 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ after_success:

jobs:
include:
- stage: "Documentation"
- stage: "Testing"
julia: 1.0
os: linux
script:
- julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- julia --project=docs/ docs/make.jl
- julia --project=test/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- julia --project=test/ test/cep.jl
after_success:
- stage: "Testing"
- stage: "Documentation"
julia: 1.0
os: linux
script:
- julia --project=test/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- julia --project=test/ test/cep.jl
- julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- julia --project=docs/ docs/make.jl
after_success:
services: docker
2 changes: 1 addition & 1 deletion examples/workflow_introduction.jl
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ts_input_data = load_timeseries_data_provided("GER_1"; T=24)

#= ClustData
How the struct is setup:
ClustData{region::String,K::Int,T::Int,data::Dict{String,Array},weights::Array{AbstractFloat},mean::Dict{String,Array},sdv::Dict{String,Array}} <: TSData
ClustData{region::String,K::Int,T::Int,data::Dict{String,Array},weights::Array{Float64},mean::Dict{String,Array},sdv::Dict{String,Array}} <: TSData
-region: specifies region data belongs to
-K: number of periods
-T: time steps per period
Expand Down
2 changes: 1 addition & 1 deletion src/CapacityExpansion.jl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ module CapacityExpansion
@reexport using FileIO
using JuMP

export OptDataCEP,
export OptDataCEP,
OptDataCEPTech,
OptDataCEPNode,
OptDataCEPLine,
Expand Down
4 changes: 2 additions & 2 deletions src/utils/datastructs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ struct OptVariable{T,N,Ax,L<:NTuple{N,Dict}} <: AbstractArray{T,N}
end

"""
OptResult{status::Symbol,objective::AbstractFloat,variables::Dict{String,Any},sets::Dict{String,Array},opt_config::Dict{String,Any},opt_info::Dict{String,Any}}
OptResult{status::Symbol,objective::Float64,variables::Dict{String,Any},sets::Dict{String,Array},opt_config::Dict{String,Any},opt_info::Dict{String,Any}}
- `status`: Symbol about the solution status of the model in normal cases `:OPTIMAL`
- `objective`: Value of the objective function
- `variables`: Dictionary with each OptVariable as an entry
Expand All @@ -39,7 +39,7 @@ end
"""
struct OptResult
status::Symbol
objective::AbstractFloat
objective::Float64
variables::Dict{String,Any}
sets::Dict{String,Array}
opt_config::Dict{String,Any}
Expand Down
8 changes: 4 additions & 4 deletions src/utils/optvariable.jl
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,10 @@ given axes.
julia> array = OptVariable{Float}(undef, [:a, :b], 1:2);
julia> fill!(array, 1.0)
2-dimensional OptVariable{AbstractFloat,2,...} with index sets:
2-dimensional OptVariable{Float64,2,...} with index sets:
Dimension 1, Symbol[:a, :b]
Dimension 2, 1:2
And data, a 2×2 Array{AbstractFloat,2}:
And data, a 2×2 Array{Float64,2}:
1.0 1.0
1.0 1.0
Expand All @@ -94,10 +94,10 @@ julia> array[:a, 2]
5.0
julia> array
2-dimensional OptVariable{AbstractFloat,2,...} with index sets:
2-dimensional OptVariable{Float64,2,...} with index sets:
Dimension 1, Symbol[:a, :b]
Dimension 2, 1:2
And data, a 2×2 Array{AbstractFloat,2}:
And data, a 2×2 Array{Float64,2}:
1.0 5.0
1.0 1.0
```
Expand Down
17 changes: 9 additions & 8 deletions test/cep.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ using Clp
# run clustering
ts_clust_res = run_clust(ts_input_data;method="kmeans",representation="centroid",n_init=1,n_clust=365) # default k-means
# run optimization
model = run_opt(ts_clust_res.best_results,cep_input_data,Clp.Optimizer)
model = run_opt(ts_clust_res.best_results,cep_input_data,Clp.Optimizer;optimizer_config=Dict{Symbol,Any}(:LogLevel => 0))
# compare to exact result
exact_res=[70540.26439790576;0.0;8498.278397905757;0.0;80132.88454450261]
@test exact_res model.variables["CAP"].data[:,1,1] atol=1
Expand All @@ -26,12 +26,13 @@ using Clp
ts_full_data = run_clust(ts_input_data;method="hierarchical",representation="centroid",n_init=1,n_clust=30)
## OPTIMIZATION ##
optimizer=Clp.Optimizer
scenarios["$state-$years-co2"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="co2",co2_limit=1000)
scenarios["$state-$years-slack"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="slack",lost_el_load_cost=1e6, lost_CO2_emission_cost=700)
scenarios["$state-$years-ex"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="ex",existing_infrastructure=true)
scenarios["$state-$years-simple"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="simple storage",storage="simple")
scenarios["$state-$years-seasonal"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="seasonal storage",storage="seasonal")
design_result=run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="des&op")
optimizer_config=Dict{Symbol,Any}(:LogLevel => 0)
scenarios["$state-$years-co2"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="co2",co2_limit=1000,optimizer_config=optimizer_config)
scenarios["$state-$years-slack"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="slack",lost_el_load_cost=1e6, lost_CO2_emission_cost=700,optimizer_config=optimizer_config)
scenarios["$state-$years-ex"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="ex",existing_infrastructure=true,optimizer_config=optimizer_config)
scenarios["$state-$years-simple"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="simple storage",storage="simple",optimizer_config=optimizer_config)
scenarios["$state-$years-seasonal"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="seasonal storage",storage="seasonal",optimizer_config=optimizer_config)
design_result=run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="des&op",optimizer_config=optimizer_config)
scenarios["$state-$years-des&op"] = run_opt(ts_full_data.best_results,cep_data,design_result.opt_config,get_cep_design_variables(design_result),optimizer;lost_el_load_cost=1e6,lost_CO2_emission_cost=700)
end
end
Expand All @@ -44,7 +45,7 @@ using Clp
ts_clust_data = run_clust(ts_input_data;method="hierarchical",representation="centroid",n_init=1,n_clust=3)
## OPTIMIZATION ##
optimizer=Clp.Optimizer
scenarios["$state-$years-trans"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="trans",transmission=true)
scenarios["$state-$years-trans"] = run_opt(ts_clust_data.best_results,cep_data,optimizer;descriptor="trans",transmission=true,optimizer_config=Dict{Symbol,Any}(:LogLevel => 0))
end
end
#Test exact values for each of the previously calculated scenarios by comparison with exact scenarios
Expand Down

0 comments on commit f65dd66

Please sign in to comment.