У меня есть 2 региона с несколькими источниками поставок в каждом и разным спросом в каждом регионе для каждого месяца (всего 6 месяцев).Моя цель - минимизировать общую стоимость удовлетворения спроса.
Цель - суммировать предложение в каждом регионе в течение одного месяца и принять решение либо удовлетворить спрос в этом регионе, либо передать власть в другой регион..
g_max_c = c_data[:,1] #maximum output for a supply source in region 1 (1:40)
g_min_c = c_data[:,2] #minimum output for a supply source in region 1 (1:40)
c_c = c_data[:,4] #cost per unit in region 1 (1:40)
g_max_nw = nw_data[:,1] #maximum output for a supply source in region 2 (1:36)
g_min_nw = nw_data[:,2] #minimum output for a supply source in region 2 (1:36)
c_nw = nw_data[:,4] #cost per unit in region 2 (1:36)
d_c = d_data[:,1] #demand in region 1 (1:6)
d_nw = d_data1[:,1] #demand in region 2 (1:6)
const loss = 0.04 #loss in line in case of transfer from region 1 to region 2 or vice versa
const cap = 2000 #capacity of the supply line between regions
@variable(uc, g_min_c[i] <= g_c[i=1:40,j=1:6]<=g_max_c[i]) #limits on production
@variable(uc, g_min_nw[k] <= g_nw[k=1:36,j=1:6]<=g_max_nw[k])
@variable(uc, 0<= tr_c[j=1:6]<= cap) #transfer supply from region 1
@variable(uc, 0<= tr_nw[j=1:6]<= cap) #transfer supply from region 2
@variable(uc, t12[j=1:6], Bin)
Целевая функция выглядит следующим образом:
@objective(uc, Min, sum(g_c[i,j]*c_c[i] for i in 1:40, j in 1:6)+sum(g_nw[k,j]*c_nw[k] for k in 1:36, j in 1:6))
Вопрос в том, как наложить ограничения на линию поставок между регионами и рассчитать производство в течение одного месяца?Прямо сейчас у меня есть это:
for j in 1:6
@constraint(uc, sum(g_c[i,j] for i in 1:40) == d_c[j]+t12[j]*tr_c[j]*(1-loss)-(1-t12[j])*tr_nw[j]*(1-loss))
for j in 1:6
@constraint(uc, sum(g_nw[k,j] for k in 1:36) == d_nw[j] + (1-t12[j]) * tr_nw[j]*(1-loss)-t12[j]*tr_c[j]*(1-loss))
for j in 1:6
@constraint(uc, sum(tr_c[j]+tr_nw[j] for j in 1:6)<= cap) #line constraints
Итак, в основном я хочу подвести итоги производства за месяц и принять решение, отправлять ли электроэнергию в другой регион или нет, не превышаяограничения передачи.
Что я здесь не так делаю?Спасибо!