diff --git a/0.2/_sources/model.md.txt b/0.2/_sources/model.md.txt index 1b6a6eb..218dcd5 100644 --- a/0.2/_sources/model.md.txt +++ b/0.2/_sources/model.md.txt @@ -148,7 +148,7 @@ for g in instance.units end ``` -### Modifying the model +### Fixing variables, modifying objective function and adding constraints Since we now have a direct reference to the JuMP decision variables, it is possible to fix variables, change the coefficients in the objective function, or even add new constraints to the model before solving it. The script below shows how can this be accomplished. For more information on modifying an existing model, [see the JuMP documentation](https://jump.dev/JuMP.jl/stable/manual/variables/). @@ -190,6 +190,54 @@ JuMP.set_objective_coefficient( UnitCommitment.optimize!(model) ``` +### Adding new component to a bus + +The following snippet shows how to add a new grid component to a particular bus. For each time step, we create decision variables for the new grid component, add these variables to the objective function, then attach the component to a particular bus by modifying some existing model constraints. + +```julia +using Cbc +using JuMP +using UnitCommitment + +# Load instance and build base model +instance = UnitCommitment.read_benchmark("matpower/case118/2017-02-01") +model = UnitCommitment.build_model( + instance=instance, + optimizer=Cbc.Optimizer, +) + +# Get the number of time steps in the original instance +T = instance.time + +# Create decision variables for the new grid component. +# In this example, we assume that the new component can +# inject up to 10 MW of power at each time step, so we +# create new continuous variables 0 ≤ x[t] ≤ 10. +@variable(model, x[1:T], lower_bound=0.0, upper_bound=10.0) + +# For each time step +for t in 1:T + + # Add production costs to the objective function. + # In this example, we assume a cost of $5/MW. + set_objective_coefficient(model, x[t], 5.0) + + # Attach the new component to bus b1, by modifying the + # constraint `eq_net_injection`. + set_normalized_coefficient( + model[:eq_net_injection]["b1", t], + x[t], + 1.0, + ) +end + +# Solve the model +UnitCommitment.optimize!(model) + +# Show optimal values for the x variables +@show value.(x) +``` + References ---------- * [KnOsWa20] **Bernard Knueven, James Ostrowski and Jean-Paul Watson.** "On Mixed-Integer Programming Formulations for the Unit Commitment Problem". INFORMS Journal on Computing (2020). [DOI: 10.1287/ijoc.2019.0944](https://doi.org/10.1287/ijoc.2019.0944) diff --git a/0.2/model/index.html b/0.2/model/index.html index 42e48e2..a3e53cf 100644 --- a/0.2/model/index.html +++ b/0.2/model/index.html @@ -238,8 +238,13 @@
  • - - Modifying the model + + Fixing variables, modifying objective function and adding constraints + +
  • +
  • + + Adding new component to a bus
  • @@ -481,8 +486,8 @@ -
    -

    Modifying the model

    +
    +

    Fixing variables, modifying objective function and adding constraints

    Since we now have a direct reference to the JuMP decision variables, it is possible to fix variables, change the coefficients in the objective function, or even add new constraints to the model before solving it. The script below shows how can this be accomplished. For more information on modifying an existing model, see the JuMP documentation.

    using Cbc
     using JuMP
    @@ -522,6 +527,53 @@
     
    +
    +

    Adding new component to a bus

    +

    The following snippet shows how to add a new grid component to a particular bus. For each time step, we create decision variables for the new grid component, add these variables to the objective function, then attach the component to a particular bus by modifying some existing model constraints.

    +
    using Cbc
    +using JuMP
    +using UnitCommitment
    +
    +# Load instance and build base model
    +instance = UnitCommitment.read_benchmark("matpower/case118/2017-02-01")
    +model = UnitCommitment.build_model(
    +    instance=instance,
    +    optimizer=Cbc.Optimizer,
    +)
    +
    +# Get the number of time steps in the original instance
    +T = instance.time
    +
    +# Create decision variables for the new grid component.
    +# In this example, we assume that the new component can
    +# inject up to 10 MW of power at each time step, so we
    +# create new continuous variables 0 ≤ x[t] ≤ 10.
    +@variable(model, x[1:T], lower_bound=0.0, upper_bound=10.0)
    +
    +# For each time step
    +for t in 1:T
    +
    +    # Add production costs to the objective function.
    +    # In this example, we assume a cost of $5/MW.
    +    set_objective_coefficient(model, x[t], 5.0)
    +
    +    # Attach the new component to bus b1, by modifying the
    +    # constraint `eq_net_injection`.
    +    set_normalized_coefficient(
    +        model[:eq_net_injection]["b1", t],
    +        x[t],
    +        1.0,
    +    )
    +end
    +
    +# Solve the model
    +UnitCommitment.optimize!(model)
    +
    +# Show optimal values for the x variables
    +@show value.(x)
    +
    +
    +

    4.5. References

    diff --git a/0.2/searchindex.js b/0.2/searchindex.js index 3459a3a..69e4034 100644 --- a/0.2/searchindex.js +++ b/0.2/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["format","index","instances","model","usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["format.md","index.md","instances.md","model.md","usage.md"],objects:{},objnames:{},objtypes:{},terms:{"001":4,"005":4,"01527":0,"01_hw":2,"01_lw":2,"01_reserves_0":2,"01_reserves_1":2,"01_reserves_3":2,"01_reserves_5":2,"02_hw":2,"02_lw":2,"0309":2,"05917":0,"06ch11357":1,"0944":[2,3],"100":[0,2,3],"1000":[0,3],"100_0_1_w":2,"100_0_2_w":2,"100_0_3_w":2,"100_0_4_w":2,"100_0_5_w":2,"105":2,"1060":2,"1069":2,"10_0_1_w":2,"10_0_2_w":2,"10_0_3_w":2,"10_0_4_w":2,"10_0_5_w":2,"10s":3,"110":[0,2,3],"1109":2,"1130":2,"115":3,"118":2,"125":2,"1262":2,"1287":[2,3],"1288":2,"130":[0,2,3],"1306":2,"131":2,"135":[0,3],"1352":2,"1354":2,"13659":2,"1368":2,"1376":2,"1393":2,"13932":2,"140":[0,2],"1400":[0,3],"144":0,"1445":2,"1484":2,"1497":2,"150":2,"15000":0,"150_0_1_w":2,"150_0_2_w":2,"150_0_3_w":2,"150_0_4_w":2,"150_0_5_w":2,"154":2,"1577":2,"1600":[0,3],"16049":2,"1615":2,"1632":2,"165":2,"168":2,"175":2,"1768":2,"177":2,"179":2,"1804":2,"1820":2,"1823":2,"186":2,"188":2,"1888":2,"192":2,"1951":2,"1960":2,"199":2,"1990":2,"1991":2,"200":2,"20000":0,"2006":2,"200_0_10_w":2,"200_0_11_w":2,"200_0_12_w":2,"200_0_1_w":2,"200_0_2_w":2,"200_0_3_w":2,"200_0_4_w":2,"200_0_5_w":2,"200_0_6_w":2,"200_0_7_w":2,"200_0_8_w":2,"200_0_9_w":2,"2010":2,"2011":2,"2013":2,"2014":2,"2015":2,"2016":2,"2017":[2,3,4],"2019":[2,3],"2020":[1,2,3],"20467":2,"2051168":2,"20_0_1_w":2,"20_0_2_w":2,"20_0_3_w":2,"20_0_4_w":2,"20_0_5_w":2,"210":2,"214":2,"220":2,"2200":[0,3],"2240":2,"2242":2,"2251015":2,"2260":2,"2307":2,"232":0,"2383":2,"2400":[0,3],"250":2,"2531":2,"2582903":2,"2596":2,"260":2,"267":2,"2736":2,"2737":2,"2746":2,"2848":2,"2854":2,"2868":2,"2869":2,"288":0,"289":2,"2896":2,"290":2,"2925557":2,"2950":2,"296":2,"2962024":2,"29725":0,"300":[0,2],"3012":2,"30552":0,"3120":2,"3155":2,"3156":2,"3159":2,"3161":2,"31838":0,"320":2,"323":2,"3245":2,"3374":2,"3504":2,"3506":2,"3514":2,"3572":2,"3579":2,"3693":2,"3776":2,"3808":2,"390":2,"400":[0,2],"4092":2,"411":2,"4161":2,"4269874":[1,2],"432":0,"443":2,"457":2,"4582":2,"46212":0,"46307":0,"480":2,"483":2,"4909":2,"4917":2,"496":2,"49686":0,"5000":0,"505":2,"50_0_1_w":2,"50_0_2_w":2,"50_0_3_w":2,"50_0_4_w":2,"50_0_5_w":2,"510":2,"5281":[1,2],"544":2,"590":2,"596":2,"6060":2,"6063":2,"6085":2,"6094":2,"610":2,"611":2,"623":2,"6468":2,"647":2,"6470":2,"6495":2,"6515":2,"730":0,"75_0_1_w":2,"75_0_2_w":2,"75_0_3_w":2,"75_0_4_w":2,"75_0_5_w":2,"767":2,"775":2,"800":0,"836":2,"850":[0,2],"88429":0,"9000":2,"9005":2,"9019":2,"9037":2,"90897":0,"918":2,"9241":2,"931":2,"935":2,"940":2,"957":2,"959":2,"979":2,"\u015bl\u0105ska":2,"boolean":0,"case":[2,3],"default":[0,4],"float":0,"function":[1,4],"import":[1,2,4],"long":[2,4],"new":[1,3,4],"public":[2,4],"return":[3,4],"switch":3,"true":[0,3],"while":0,AND:1,ARE:1,BUT:1,Bus:0,FOR:1,For:[0,2,3,4],NOT:1,PES:2,SUCH:1,THE:1,The:[0,1,2,3,4],There:0,These:2,USE:1,aaron:2,abov:[1,3],ac02:1,accept:0,access:2,accomplish:3,accord:0,account:2,accur:1,across:4,action:2,add:[3,4],added:3,addit:3,addition:1,advanc:[1,2],advis:1,affect:0,after:[0,3,4],again:0,ahead:1,aleksandr:[1,2],algorithm:[1,2,4],ali:2,align:3,alinson:[1,2],all:[0,1,2,4],allow:0,also:[0,2,4],alwai:0,american:2,amount:[0,3],analysi:2,ani:[0,1,4],anoth:0,approach:2,arango:2,archiv:2,argonn:1,aris:1,arrai:0,arrcon2000:1,art:1,arxiv:2,aspect:1,autom:1,avail:[2,4],bableh19:2,balanc:0,barrow:2,base:[0,1,2,4],beaslei:2,becaus:2,becom:4,been:[0,2,4],befor:[0,3],begin:[0,3],below:[0,2,3,4],benchmark:[1,2,3],bernard:[2,3],best:2,between:0,binari:[1,3],bloom:2,both:0,bridg:2,build:3,build_model:[3,4],bus:[0,3],buse:2,busi:1,call:[3,4],can:[0,2,3,4],capac:0,capitanescu:2,cararr2006:1,carefulli:4,case118:[2,3,4],case1354pegas:2,case13659pegas:2,case14:[0,2],case1888rt:2,case1951rt:2,case2383wp:2,case2736sp:2,case2737sop:2,case2746wop:2,case2746wp:2,case2848rt:2,case2868rt:2,case2869pegas:2,case300:2,case3012wp:2,case30:2,case3120sp:2,case3375wp:[2,4],case57:2,case6468rt:2,case6470rt:2,case6495rt:2,case6515rt:2,case89pegas:2,case9241pegas:2,categori:3,caus:[1,4],cbc:[3,4],certain:0,challeng:[1,4],chang:[0,1,3,4],characterist:[0,1],charg:0,check:3,chen:1,choic:4,choos:4,cite:2,clayton:2,clear:1,code:1,coeffici:3,collabor:1,collect:[1,2,4],combin:4,commiss:2,commit:[0,1,2,3,4],common:[1,2,4],comparison:2,compat:[0,4],compil:2,complet:[0,4],complex:2,compon:[0,4],comput:[2,3,4],condit:[1,2],congest:0,connect:0,consequenti:1,consortium:2,constrain:[1,2],constraint:[1,2],construct:[3,4],consumpt:0,contain:[0,2,4],conting:[1,2],contract:1,contributor:1,convert:[1,2,4],convex:0,copyright:1,correct:2,correctli:4,correspond:2,cost:[1,2,3],creat:[3,4],credibl:0,curat:2,current:1,curtail:3,curv:[0,1,2,3],dai:[1,2],damag:1,damkucrajata2016:1,data:[1,2,4],date:1,decis:1,decreas:0,defin:3,degrad:0,delai:0,delta:3,demand:[0,2],depart:[1,2],depend:[0,1],dept:2,deriv:1,describ:[0,1,2,3,4],descript:[0,3,4],design:2,detail:[0,2,3],develop:[1,2,4],dheepak:2,differ:[0,3,4],direct:[1,3],director:1,disclaim:1,displai:3,distribut:[1,2],divers:1,divis:2,divisor:0,document:[0,1,3],doi:[1,2,3],down:[0,2],downtim:0,driven:[1,2],due:4,dure:[0,3],each:[0,2,4],earli:1,easi:4,easili:4,econom:0,edu:2,educ:2,effici:2,ehlen:2,either:0,electr:[1,2],electricit:2,electron:2,element:0,emerg:[0,2],end:3,endors:1,energi:[0,1,2],enforc:3,engin:2,entri:0,equal:[0,3],eric:2,error:[3,4],estim:2,etc:0,european:2,evalu:1,even:[0,1,3,4],event:1,exactli:[0,4],exampl:[1,3,4],excess:4,exemplari:1,exist:[3,4],expect:[0,4],explain:2,express:1,extend:[1,2],extens:1,extract:4,f_l:3,failur:0,fals:0,feasibl:4,feb:2,feder:2,feedback:1,feng:[1,2],figur:0,file:[0,2,4],first:[0,3,4],fit:1,fix:[0,2,3],fliscounaki:2,florida:1,flow:[0,2,3],flpaca13:2,follow:[0,1,2,3,4],forc:[2,3],form:1,format:[1,2,4],formul:[1,2,3],forpow:2,found:4,frangioni:2,french:2,frge06:2,from:[0,1,2,3,4],fulli:[0,1],fund:1,fundament:1,futur:[0,4],gar1962:1,gen1:0,gen2:0,gener:[1,2],generate_initial_condit:4,gentil:2,github:2,given:4,glpk:4,goal:1,good:[1,4],gov:2,grant:1,graph:2,grid:[1,2],group:2,guid:4,hand:0,hard:4,has:[0,4],have:[0,2,3],help:4,higgin:2,high:2,holder:1,horizon:0,hour:[0,2],hourli:0,how:[0,3],howev:[1,4],http:2,identifi:0,ieee:2,ijoc:[2,3],ikaheimo:2,illustr:[0,3],immedi:0,impact:1,implement:[1,4],impli:1,improv:2,incident:1,includ:[0,1,2,4],incorrect:4,increas:[0,2,4],incur:3,independ:[0,1,4],index:3,indic:[0,2,3],indirect:1,individu:4,industri:2,inf:0,infeas:4,inform:[2,3],initi:[0,2],inject:3,input:[1,4],inspect:1,instal:1,instanc:[0,1,3],instead:4,instruct:4,insuffici:0,integ:[1,2,3,4],interest:3,interpret:4,interrupt:1,introduc:4,is_on:3,isf_cutoff:4,island:2,iso:[1,2],isol:2,issu:4,itesla:2,its:[0,1,3],jame:[2,3],jean:[2,3],jenni:2,jessica:2,joflma16:2,jorgenson:2,josz:2,journal:[2,3],json:[0,1,4],julia:[1,2,4],jump:[1,2,4],jussi:2,just:3,k_g:3,kazachkov:[1,2],keep:[1,3],kei:0,kindli:1,knoswa20:[2,3],knueven:[2,3],knuostwat2018:[1,4],korab:2,krall:2,krhion12:2,krishnamurthi:2,laboratori:[1,2],lack:2,larg:[1,2,4],larger:2,last:0,later:4,lau:2,lazi:3,ldrd:1,learn:2,least:0,length:0,liabil:1,liabl:1,lib:1,librari:2,like:[1,3],limit:[1,2,3],line:2,linear:[0,1,3,4],list:[0,1,4],literatur:[1,2,4],llc:1,load:[1,2,4],locat:0,lodf_cutoff:4,loss:[0,1],lower:0,lumbrera:2,machin:[2,4],maeght:2,mai:[0,1,3,4],mail:2,main:0,maintain:2,make:[1,4],manag:4,mani:[0,2],market:[1,2],martin:2,materi:1,mathcal:3,matlab:2,matpow:[1,3,4],maximum:[0,2],mean:0,merchant:1,met:1,method:[1,2,4],michael:2,midcontin:1,milp:4,min:[0,3],minim:3,minimum:[0,2,3],minut:0,mix:[1,2,3,4],model:[0,1,2,4],modern:2,modif:1,modifi:[1,2,4],more:[0,1,2,3,4],morlatram2013:[1,4],most:[0,1,2,3],mostli:2,mtpwr:2,much:[0,2],multipl:[0,1],murillo:2,must:[0,1],n_b:3,naiv:4,name:[1,2,3],nation:1,necessari:3,need:3,neg:0,neglig:1,neill:2,neither:1,nest:0,net:3,net_inject:3,network:[0,1,2],never:3,next:[0,4],nonlinear:2,nor:1,normal:0,northwest:1,notat:3,note:0,notic:1,nov:2,now:[3,4],number:[0,2,4],numer:0,object:1,obtain:[0,3],octav:2,oe0000875:1,off:[0,3,4],offic:1,offici:4,offlin:0,often:4,ohm:0,omit:0,onc:4,one:[0,2,4],onli:0,onlin:0,open:[2,4],oper:[0,1,2],opr:2,optim:[0,1,2,3,4],origin:[0,1,2,4],orlib:2,ostrowski:[2,3],other:[0,1,2,4],otherwis:1,our:[1,2,4],out:1,output:[1,2,3,4],over:4,overflow:3,overload:2,overview:2,own:4,pacif:1,packag:[0,2,3,4],page:[1,3],pan:[1,2],panciatici:2,pangua2016:1,paramet:2,parsefil:4,part:2,particular:[1,4],pass:4,path:4,paul:[2,3],penalti:[0,3],per:0,perform:[1,4],period:[0,4],permiss:1,permit:1,pglib:1,piecewis:[0,1,3],pisa:2,pkg:4,place:[0,4],plan:[0,2],pleas:4,point:[0,3],politechnika:2,portion:2,posit:0,possibl:[1,3],potenti:4,power:[0,1,2,3,4],powersystem:2,predict:2,prevent:2,price:1,print:4,printf:3,prior:1,problem:[1,2,3,4],procur:1,prod_abov:3,produc:[0,2,3,4],product:[1,2],profil:2,profit:1,program:[1,2,3,4],project:2,promot:1,properti:0,proport:2,propos:[1,2,4],provid:[0,1,2,3],publicli:2,purpos:[1,4],pwl_cost:4,pwlcost:4,qcqp:2,qiu:[1,2],r_g:3,ramo:2,ramp:[0,1,2,4],random:[2,4],rank:2,rate:2,raw:2,reach:0,reactanc:0,read:4,read_benchmark:[2,3,4],readi:4,realist:[1,2],reason:4,recommend:4,redistribut:1,reduc:0,refer:1,regardless:0,regular:0,regulatori:2,reliabl:2,remain:0,renew:0,repositori:2,repres:[0,2],reproduc:1,request:[1,2],requir:[0,4],research:[1,2],reseau:2,reserv:[1,2,3],respect:[0,2],result:4,retain:1,revenu:[0,3],richard:2,right:1,roman:2,rto:2,rts_gmlc:2,run:[0,4],s_g:3,sale:2,same:[0,2,4],sanchez:2,sandnchez:2,scale:1,scenario400_reserves_0:2,scenario400_reserves_1:2,scenario400_reserves_3:2,scenario400_reserves_5:2,scenario:0,scienc:1,screen:1,script:[1,3,4],scuc:1,section:[0,2],secur:[1,2,3],see:[0,2,3,4],segment:[0,3],segprod:3,sens:2,sensibl:4,sensit:1,serv:[0,3],servic:1,set:[0,2,3,4],set_objective_coeffici:3,shall:1,shiftfactorsformul:4,shortag:0,should:[0,4],show:[0,3],shown:4,shut:0,shutdown:[0,2],siemen:0,signific:0,significantli:0,similar:2,simul:[0,2],sinc:[0,3],singl:[0,2,4],size:2,slightli:3,small:2,smaller:2,snapshot:2,societi:2,softwar:[1,2],solut:[1,3],solv:[2,3],solver:4,some:[2,3],sourc:[0,1,2,4],special:1,specif:[0,1,2],specifi:0,spin:0,stai:0,standard:3,start:[0,3],startup:[0,1,2,3],startup_cost:4,startupcost:4,state:[0,1,2],statu:[0,3],steadi:2,step:[0,3,4],store:4,strict:1,strictli:0,string:0,studi:2,substitut:1,subtl:4,sum_:3,summer:2,support:[0,1],surplu:0,suscept:0,switch_off:3,switch_on:3,symbol:3,synthet:2,system:[0,1,2,4],systemat:2,tabl:0,take:2,target:0,task:2,team:2,tejada19:1,tejada:2,telusa19:2,test:[2,4],text:3,than:0,thank:1,thei:[0,2,4],them:[1,4],theori:1,therefor:4,thermal:0,thi:[0,1,3,4],thoma:2,three:0,through:[0,2],time:[1,2,3,4],todo:3,tool:[1,2],topolog:0,tort:1,total:2,tpwr:2,train:2,tran:2,transact:2,transmiss:[1,2,4],transport:2,two:2,type:4,typic:[1,2],u_g:3,uc_168h_105g:2,uc_168h_110g:2,uc_168h_125g:2,uc_168h_130g:2,uc_168h_131g:2,uc_168h_140g:2,uc_168h_165g:2,uc_168h_175g:2,uc_168h_179g:2,uc_168h_188g:2,uc_168h_192g:2,uc_168h_199g:2,uc_168h_36g:2,uc_168h_38g:2,uc_168h_40g:2,uc_168h_53g:2,uc_168h_58g:2,uc_168h_59g:2,uc_168h_72g:2,uc_168h_84g:2,uc_168h_86g:2,uc_168h_88g:2,uc_168h_93g:2,uc_24h_1069g:2,uc_24h_1130g:2,uc_24h_1376g:2,uc_24h_1393g:2,uc_24h_1577g:2,uc_24h_1615g:2,uc_24h_1632g:2,uc_24h_1768g:2,uc_24h_1804g:2,uc_24h_1820g:2,uc_24h_1823g:2,uc_24h_1888g:2,uc_24h_214g:2,uc_24h_250g:2,uc_24h_290g:2,uc_24h_480g:2,uc_24h_505g:2,uc_24h_623g:2,uc_24h_647g:2,uc_24h_836g:2,uc_24h_850g:2,uc_24h_918g:2,uc_24h_931g:2,uc_24h_940g:2,uc_24h_957g:2,uc_24h_959g:2,uchicago:1,ucjl:2,uncertainti:2,under:[1,3],understand:3,unit:[0,1,2,3,4],unitcommit:[2,3,4],univers:[1,2],unless:0,unlimit:0,unrealist:4,updat:2,upon:1,uptim:0,usag:[0,1,2],use:[1,2,4],used:[1,2,4],useful:3,uses:4,using:[1,2,3,4],util:4,valid:[0,2,4],valu:[0,3],valuabl:1,vari:[0,2],variabl:1,variat:2,varieti:[2,4],varnam:3,veri:[2,4],version:[0,1,2,4],violat:0,virtual:0,vol:2,voltag:2,wai:[1,3],warranti:1,washington:2,watson:[2,3],websit:4,wehenkel:2,well:[1,2],were:2,when:[0,4],where:[0,3],whether:[1,3],which:[0,1,2,4],wide:[0,2,4],winter:2,without:[1,2,3,4],work:1,would:1,write:4,written:1,www:2,xavier:[1,2],xavqiuwanthi2019:1,year:2,yonghong:1,you:[1,2,3,4],your:[1,2,4],zenodo:[1,2],zero:0,zimmerman:2,zonal:0},titles:["2. Data Format","UnitCommitment.jl","3. Instances","4. JuMP Model","1. Usage"],titleterms:{"function":3,RTS:2,access:3,acknowledg:1,addit:0,advanc:4,author:1,benchmark:4,buse:[0,3],california:2,cite:1,compon:1,condit:4,constraint:3,content:1,conting:0,cost:0,current:0,custom:4,data:0,decis:3,exampl:0,ferc:2,format:0,formul:4,gener:[0,3,4],gmlc:2,initi:4,input:0,inspect:3,instal:4,instanc:[2,4],jump:3,lib:2,licens:1,limit:0,line:[0,3],load:[0,3],matpow:2,model:3,modifi:3,object:3,output:0,packag:1,paramet:0,pegas:2,pglib:2,polish:2,price:[0,3],product:0,provid:4,pstca:2,refer:[2,3],remark:0,reserv:0,rte:2,sensit:[0,3],seri:0,site:1,solut:4,solv:4,tejada19:2,time:0,transmiss:[0,3],typic:4,unitcommit:1,usag:4,user:4,variabl:3,verifi:4}}) \ No newline at end of file +Search.setIndex({docnames:["format","index","instances","model","usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["format.md","index.md","instances.md","model.md","usage.md"],objects:{},objnames:{},objtypes:{},terms:{"001":4,"005":4,"01527":0,"01_hw":2,"01_lw":2,"01_reserves_0":2,"01_reserves_1":2,"01_reserves_3":2,"01_reserves_5":2,"02_hw":2,"02_lw":2,"0309":2,"05917":0,"06ch11357":1,"0944":[2,3],"100":[0,2,3],"1000":[0,3],"100_0_1_w":2,"100_0_2_w":2,"100_0_3_w":2,"100_0_4_w":2,"100_0_5_w":2,"105":2,"1060":2,"1069":2,"10_0_1_w":2,"10_0_2_w":2,"10_0_3_w":2,"10_0_4_w":2,"10_0_5_w":2,"10s":3,"110":[0,2,3],"1109":2,"1130":2,"115":3,"118":2,"125":2,"1262":2,"1287":[2,3],"1288":2,"130":[0,2,3],"1306":2,"131":2,"135":[0,3],"1352":2,"1354":2,"13659":2,"1368":2,"1376":2,"1393":2,"13932":2,"140":[0,2],"1400":[0,3],"144":0,"1445":2,"1484":2,"1497":2,"150":2,"15000":0,"150_0_1_w":2,"150_0_2_w":2,"150_0_3_w":2,"150_0_4_w":2,"150_0_5_w":2,"154":2,"1577":2,"1600":[0,3],"16049":2,"1615":2,"1632":2,"165":2,"168":2,"175":2,"1768":2,"177":2,"179":2,"1804":2,"1820":2,"1823":2,"186":2,"188":2,"1888":2,"192":2,"1951":2,"1960":2,"199":2,"1990":2,"1991":2,"200":2,"20000":0,"2006":2,"200_0_10_w":2,"200_0_11_w":2,"200_0_12_w":2,"200_0_1_w":2,"200_0_2_w":2,"200_0_3_w":2,"200_0_4_w":2,"200_0_5_w":2,"200_0_6_w":2,"200_0_7_w":2,"200_0_8_w":2,"200_0_9_w":2,"2010":2,"2011":2,"2013":2,"2014":2,"2015":2,"2016":2,"2017":[2,3,4],"2019":[2,3],"2020":[1,2,3],"20467":2,"2051168":2,"20_0_1_w":2,"20_0_2_w":2,"20_0_3_w":2,"20_0_4_w":2,"20_0_5_w":2,"210":2,"214":2,"220":2,"2200":[0,3],"2240":2,"2242":2,"2251015":2,"2260":2,"2307":2,"232":0,"2383":2,"2400":[0,3],"250":2,"2531":2,"2582903":2,"2596":2,"260":2,"267":2,"2736":2,"2737":2,"2746":2,"2848":2,"2854":2,"2868":2,"2869":2,"288":0,"289":2,"2896":2,"290":2,"2925557":2,"2950":2,"296":2,"2962024":2,"29725":0,"300":[0,2],"3012":2,"30552":0,"3120":2,"3155":2,"3156":2,"3159":2,"3161":2,"31838":0,"320":2,"323":2,"3245":2,"3374":2,"3504":2,"3506":2,"3514":2,"3572":2,"3579":2,"3693":2,"3776":2,"3808":2,"390":2,"400":[0,2],"4092":2,"411":2,"4161":2,"4269874":[1,2],"432":0,"443":2,"457":2,"4582":2,"46212":0,"46307":0,"480":2,"483":2,"4909":2,"4917":2,"496":2,"49686":0,"5000":0,"505":2,"50_0_1_w":2,"50_0_2_w":2,"50_0_3_w":2,"50_0_4_w":2,"50_0_5_w":2,"510":2,"5281":[1,2],"544":2,"590":2,"596":2,"6060":2,"6063":2,"6085":2,"6094":2,"610":2,"611":2,"623":2,"6468":2,"647":2,"6470":2,"6495":2,"6515":2,"730":0,"75_0_1_w":2,"75_0_2_w":2,"75_0_3_w":2,"75_0_4_w":2,"75_0_5_w":2,"767":2,"775":2,"800":0,"836":2,"850":[0,2],"88429":0,"9000":2,"9005":2,"9019":2,"9037":2,"90897":0,"918":2,"9241":2,"931":2,"935":2,"940":2,"957":2,"959":2,"979":2,"\u015bl\u0105ska":2,"boolean":0,"case":[2,3],"default":[0,4],"float":0,"function":[1,4],"import":[1,2,4],"long":[2,4],"new":[1,4],"public":[2,4],"return":[3,4],"switch":3,"true":[0,3],"while":0,AND:1,ARE:1,BUT:1,Bus:0,FOR:1,For:[0,2,3,4],NOT:1,PES:2,SUCH:1,THE:1,The:[0,1,2,3,4],There:0,These:2,USE:1,aaron:2,abov:[1,3],ac02:1,accept:0,access:2,accomplish:3,accord:0,account:2,accur:1,across:4,action:2,add:[3,4],added:3,addit:3,addition:1,advanc:[1,2],advis:1,affect:0,after:[0,3,4],again:0,ahead:1,aleksandr:[1,2],algorithm:[1,2,4],ali:2,align:3,alinson:[1,2],all:[0,1,2,4],allow:0,also:[0,2,4],alwai:0,american:2,amount:[0,3],analysi:2,ani:[0,1,4],anoth:0,approach:2,arango:2,archiv:2,argonn:1,aris:1,arrai:0,arrcon2000:1,art:1,arxiv:2,aspect:1,assum:3,attach:3,autom:1,avail:[2,4],bableh19:2,balanc:0,barrow:2,base:[0,1,2,3,4],beaslei:2,becaus:2,becom:4,been:[0,2,4],befor:[0,3],begin:[0,3],below:[0,2,3,4],benchmark:[1,2,3],bernard:[2,3],best:2,between:0,binari:[1,3],bloom:2,both:0,bridg:2,build:3,build_model:[3,4],bus:0,buse:2,busi:1,call:[3,4],can:[0,2,3,4],capac:0,capitanescu:2,cararr2006:1,carefulli:4,case118:[2,3,4],case1354pegas:2,case13659pegas:2,case14:[0,2],case1888rt:2,case1951rt:2,case2383wp:2,case2736sp:2,case2737sop:2,case2746wop:2,case2746wp:2,case2848rt:2,case2868rt:2,case2869pegas:2,case300:2,case3012wp:2,case30:2,case3120sp:2,case3375wp:[2,4],case57:2,case6468rt:2,case6470rt:2,case6495rt:2,case6515rt:2,case89pegas:2,case9241pegas:2,categori:3,caus:[1,4],cbc:[3,4],certain:0,challeng:[1,4],chang:[0,1,3,4],characterist:[0,1],charg:0,check:3,chen:1,choic:4,choos:4,cite:2,clayton:2,clear:1,code:1,coeffici:3,collabor:1,collect:[1,2,4],combin:4,commiss:2,commit:[0,1,2,3,4],common:[1,2,4],comparison:2,compat:[0,4],compil:2,complet:[0,4],complex:2,compon:[0,4],comput:[2,3,4],condit:[1,2],congest:0,connect:0,consequenti:1,consortium:2,constrain:[1,2],constraint:[1,2],construct:[3,4],consumpt:0,contain:[0,2,4],conting:[1,2],continu:3,contract:1,contributor:1,convert:[1,2,4],convex:0,copyright:1,correct:2,correctli:4,correspond:2,cost:[1,2,3],creat:[3,4],credibl:0,curat:2,current:1,curtail:3,curv:[0,1,2,3],dai:[1,2],damag:1,damkucrajata2016:1,data:[1,2,4],date:1,decis:1,decreas:0,defin:3,degrad:0,delai:0,delta:3,demand:[0,2],depart:[1,2],depend:[0,1],dept:2,deriv:1,describ:[0,1,2,3,4],descript:[0,3,4],design:2,detail:[0,2,3],develop:[1,2,4],dheepak:2,differ:[0,3,4],direct:[1,3],director:1,disclaim:1,displai:3,distribut:[1,2],divers:1,divis:2,divisor:0,document:[0,1,3],doi:[1,2,3],down:[0,2],downtim:0,driven:[1,2],due:4,dure:[0,3],each:[0,2,3,4],earli:1,easi:4,easili:4,econom:0,edu:2,educ:2,effici:2,ehlen:2,either:0,electr:[1,2],electricit:2,electron:2,element:0,emerg:[0,2],end:3,endors:1,energi:[0,1,2],enforc:3,engin:2,entri:0,eq_net_inject:3,equal:[0,3],eric:2,error:[3,4],estim:2,etc:0,european:2,evalu:1,even:[0,1,3,4],event:1,exactli:[0,4],exampl:[1,3,4],excess:4,exemplari:1,exist:[3,4],expect:[0,4],explain:2,express:1,extend:[1,2],extens:1,extract:4,f_l:3,failur:0,fals:0,feasibl:4,feb:2,feder:2,feedback:1,feng:[1,2],figur:0,file:[0,2,4],first:[0,3,4],fit:1,fix:[0,2],fliscounaki:2,florida:1,flow:[0,2,3],flpaca13:2,follow:[0,1,2,3,4],forc:[2,3],form:1,format:[1,2,4],formul:[1,2,3],forpow:2,found:4,frangioni:2,french:2,frge06:2,from:[0,1,2,3,4],fulli:[0,1],fund:1,fundament:1,futur:[0,4],gar1962:1,gen1:0,gen2:0,gener:[1,2],generate_initial_condit:4,gentil:2,get:3,github:2,given:4,glpk:4,goal:1,good:[1,4],gov:2,grant:1,graph:2,grid:[1,2,3],group:2,guid:4,hand:0,hard:4,has:[0,4],have:[0,2,3],help:4,higgin:2,high:2,holder:1,horizon:0,hour:[0,2],hourli:0,how:[0,3],howev:[1,4],http:2,identifi:0,ieee:2,ijoc:[2,3],ikaheimo:2,illustr:[0,3],immedi:0,impact:1,implement:[1,4],impli:1,improv:2,incident:1,includ:[0,1,2,4],incorrect:4,increas:[0,2,4],incur:3,independ:[0,1,4],index:3,indic:[0,2,3],indirect:1,individu:4,industri:2,inf:0,infeas:4,inform:[2,3],initi:[0,2],inject:3,input:[1,4],inspect:1,instal:1,instanc:[0,1,3],instead:4,instruct:4,insuffici:0,integ:[1,2,3,4],interest:3,interpret:4,interrupt:1,introduc:4,is_on:3,isf_cutoff:4,island:2,iso:[1,2],isol:2,issu:4,itesla:2,its:[0,1,3],jame:[2,3],jean:[2,3],jenni:2,jessica:2,joflma16:2,jorgenson:2,josz:2,journal:[2,3],json:[0,1,4],julia:[1,2,4],jump:[1,2,4],jussi:2,just:3,k_g:3,kazachkov:[1,2],keep:[1,3],kei:0,kindli:1,knoswa20:[2,3],knueven:[2,3],knuostwat2018:[1,4],korab:2,krall:2,krhion12:2,krishnamurthi:2,laboratori:[1,2],lack:2,larg:[1,2,4],larger:2,last:0,later:4,lau:2,lazi:3,ldrd:1,learn:2,least:0,length:0,liabil:1,liabl:1,lib:1,librari:2,like:[1,3],limit:[1,2,3],line:2,linear:[0,1,3,4],list:[0,1,4],literatur:[1,2,4],llc:1,load:[1,2,4],locat:0,lodf_cutoff:4,loss:[0,1],lower:0,lower_bound:3,lumbrera:2,machin:[2,4],maeght:2,mai:[0,1,3,4],mail:2,main:0,maintain:2,make:[1,4],manag:4,mani:[0,2],market:[1,2],martin:2,materi:1,mathcal:3,matlab:2,matpow:[1,3,4],maximum:[0,2],mean:0,merchant:1,met:1,method:[1,2,4],michael:2,midcontin:1,milp:4,min:[0,3],minim:3,minimum:[0,2,3],minut:0,mix:[1,2,3,4],model:[0,1,2,4],modern:2,modif:1,modifi:[1,2,4],more:[0,1,2,3,4],morlatram2013:[1,4],most:[0,1,2,3],mostli:2,mtpwr:2,much:[0,2],multipl:[0,1],murillo:2,must:[0,1],n_b:3,naiv:4,name:[1,2,3],nation:1,necessari:3,need:3,neg:0,neglig:1,neill:2,neither:1,nest:0,net:3,net_inject:3,network:[0,1,2],never:3,next:[0,4],nonlinear:2,nor:1,normal:0,northwest:1,notat:3,note:0,notic:1,nov:2,now:[3,4],number:[0,2,3,4],numer:0,object:1,obtain:[0,3],octav:2,oe0000875:1,off:[0,3,4],offic:1,offici:4,offlin:0,often:4,ohm:0,omit:0,onc:4,one:[0,2,4],onli:0,onlin:0,open:[2,4],oper:[0,1,2],opr:2,optim:[0,1,2,3,4],origin:[0,1,2,3,4],orlib:2,ostrowski:[2,3],other:[0,1,2,4],otherwis:1,our:[1,2,4],out:1,output:[1,2,3,4],over:4,overflow:3,overload:2,overview:2,own:4,pacif:1,packag:[0,2,3,4],page:[1,3],pan:[1,2],panciatici:2,pangua2016:1,paramet:2,parsefil:4,part:2,particular:[1,3,4],pass:4,path:4,paul:[2,3],penalti:[0,3],per:0,perform:[1,4],period:[0,4],permiss:1,permit:1,pglib:1,piecewis:[0,1,3],pisa:2,pkg:4,place:[0,4],plan:[0,2],pleas:4,point:[0,3],politechnika:2,portion:2,posit:0,possibl:[1,3],potenti:4,power:[0,1,2,3,4],powersystem:2,predict:2,prevent:2,price:1,print:4,printf:3,prior:1,problem:[1,2,3,4],procur:1,prod_abov:3,produc:[0,2,3,4],product:[1,2,3],profil:2,profit:1,program:[1,2,3,4],project:2,promot:1,properti:0,proport:2,propos:[1,2,4],provid:[0,1,2,3],publicli:2,purpos:[1,4],pwl_cost:4,pwlcost:4,qcqp:2,qiu:[1,2],r_g:3,ramo:2,ramp:[0,1,2,4],random:[2,4],rank:2,rate:2,raw:2,reach:0,reactanc:0,read:4,read_benchmark:[2,3,4],readi:4,realist:[1,2],reason:4,recommend:4,redistribut:1,reduc:0,refer:1,regardless:0,regular:0,regulatori:2,reliabl:2,remain:0,renew:0,repositori:2,repres:[0,2],reproduc:1,request:[1,2],requir:[0,4],research:[1,2],reseau:2,reserv:[1,2,3],respect:[0,2],result:4,retain:1,revenu:[0,3],richard:2,right:1,roman:2,rto:2,rts_gmlc:2,run:[0,4],s_g:3,sale:2,same:[0,2,4],sanchez:2,sandnchez:2,scale:1,scenario400_reserves_0:2,scenario400_reserves_1:2,scenario400_reserves_3:2,scenario400_reserves_5:2,scenario:0,scienc:1,screen:1,script:[1,3,4],scuc:1,section:[0,2],secur:[1,2,3],see:[0,2,3,4],segment:[0,3],segprod:3,sens:2,sensibl:4,sensit:1,serv:[0,3],servic:1,set:[0,2,3,4],set_normalized_coeffici:3,set_objective_coeffici:3,shall:1,shiftfactorsformul:4,shortag:0,should:[0,4],show:[0,3],shown:4,shut:0,shutdown:[0,2],siemen:0,signific:0,significantli:0,similar:2,simul:[0,2],sinc:[0,3],singl:[0,2,4],size:2,slightli:3,small:2,smaller:2,snapshot:2,snippet:3,societi:2,softwar:[1,2],solut:[1,3],solv:[2,3],solver:4,some:[2,3],sourc:[0,1,2,4],special:1,specif:[0,1,2],specifi:0,spin:0,stai:0,standard:3,start:[0,3],startup:[0,1,2,3],startup_cost:4,startupcost:4,state:[0,1,2],statu:[0,3],steadi:2,step:[0,3,4],store:4,strict:1,strictli:0,string:0,studi:2,substitut:1,subtl:4,sum_:3,summer:2,support:[0,1],surplu:0,suscept:0,switch_off:3,switch_on:3,symbol:3,synthet:2,system:[0,1,2,4],systemat:2,tabl:0,take:2,target:0,task:2,team:2,tejada19:1,tejada:2,telusa19:2,test:[2,4],text:3,than:0,thank:1,thei:[0,2,4],them:[1,4],theori:1,therefor:4,thermal:0,thi:[0,1,3,4],thoma:2,three:0,through:[0,2],time:[1,2,3,4],todo:3,tool:[1,2],topolog:0,tort:1,total:2,tpwr:2,train:2,tran:2,transact:2,transmiss:[1,2,4],transport:2,two:2,type:4,typic:[1,2],u_g:3,uc_168h_105g:2,uc_168h_110g:2,uc_168h_125g:2,uc_168h_130g:2,uc_168h_131g:2,uc_168h_140g:2,uc_168h_165g:2,uc_168h_175g:2,uc_168h_179g:2,uc_168h_188g:2,uc_168h_192g:2,uc_168h_199g:2,uc_168h_36g:2,uc_168h_38g:2,uc_168h_40g:2,uc_168h_53g:2,uc_168h_58g:2,uc_168h_59g:2,uc_168h_72g:2,uc_168h_84g:2,uc_168h_86g:2,uc_168h_88g:2,uc_168h_93g:2,uc_24h_1069g:2,uc_24h_1130g:2,uc_24h_1376g:2,uc_24h_1393g:2,uc_24h_1577g:2,uc_24h_1615g:2,uc_24h_1632g:2,uc_24h_1768g:2,uc_24h_1804g:2,uc_24h_1820g:2,uc_24h_1823g:2,uc_24h_1888g:2,uc_24h_214g:2,uc_24h_250g:2,uc_24h_290g:2,uc_24h_480g:2,uc_24h_505g:2,uc_24h_623g:2,uc_24h_647g:2,uc_24h_836g:2,uc_24h_850g:2,uc_24h_918g:2,uc_24h_931g:2,uc_24h_940g:2,uc_24h_957g:2,uc_24h_959g:2,uchicago:1,ucjl:2,uncertainti:2,under:[1,3],understand:3,unit:[0,1,2,3,4],unitcommit:[2,3,4],univers:[1,2],unless:0,unlimit:0,unrealist:4,updat:2,upon:1,upper_bound:3,uptim:0,usag:[0,1,2],use:[1,2,4],used:[1,2,4],useful:3,uses:4,using:[1,2,3,4],util:4,valid:[0,2,4],valu:[0,3],valuabl:1,vari:[0,2],variabl:1,variat:2,varieti:[2,4],varnam:3,veri:[2,4],version:[0,1,2,4],violat:0,virtual:0,vol:2,voltag:2,wai:[1,3],warranti:1,washington:2,watson:[2,3],websit:4,wehenkel:2,well:[1,2],were:2,when:[0,4],where:[0,3],whether:[1,3],which:[0,1,2,4],wide:[0,2,4],winter:2,without:[1,2,3,4],work:1,would:1,write:4,written:1,www:2,xavier:[1,2],xavqiuwanthi2019:1,year:2,yonghong:1,you:[1,2,3,4],your:[1,2,4],zenodo:[1,2],zero:0,zimmerman:2,zonal:0},titles:["2. Data Format","UnitCommitment.jl","3. Instances","4. JuMP Model","1. Usage"],titleterms:{"function":3,"new":3,Adding:3,RTS:2,access:3,acknowledg:1,adding:3,addit:0,advanc:4,author:1,benchmark:4,bus:3,buse:[0,3],california:2,cite:1,compon:[1,3],condit:4,constraint:3,content:1,conting:0,cost:0,current:0,custom:4,data:0,decis:3,exampl:0,ferc:2,fix:3,format:0,formul:4,gener:[0,3,4],gmlc:2,initi:4,input:0,inspect:3,instal:4,instanc:[2,4],jump:3,lib:2,licens:1,limit:0,line:[0,3],load:[0,3],matpow:2,model:3,modifi:3,object:3,output:0,packag:1,paramet:0,pegas:2,pglib:2,polish:2,price:[0,3],product:0,provid:4,pstca:2,refer:[2,3],remark:0,reserv:0,rte:2,sensit:[0,3],seri:0,site:1,solut:4,solv:4,tejada19:2,time:0,transmiss:[0,3],typic:4,unitcommit:1,usag:4,user:4,variabl:3,verifi:4}}) \ No newline at end of file