Dec-27-2022, 01:48 PM
N = 1; T =24; P = 10 E = 20 dt = 1 # eta_c = 0.8 eta_d = 0.9 e0 = 0.95* E t = 0.02 p_c = np.linspace(0, P, T, endpoint=True) p_d = np.linspace(0, P, T, endpoint=False) A = np.tri(T) # lower trinagular matrix II = np.ones(T) e = cp.Variable((T,N)) e = t*II*x0 + eta_c*A@p_c - A@p_d/eta_d e[0] = e0 # use a for loop to define the unit constriant over each time period const = [] for k in range(T-1): # go through each period # const.append(x[0] == e0) #e[k+1] = t*x[k] + eta_c*p_c[k] - p_d[k]/eta_d p_c[k]*p_d[k] == 0 p_c[k] >= 0 p_c[k] <= P p_d[k] >= 0 p_d[k] <= P e[k+1] >= 0 e[k+1] <= E
Error:No error, but the code isn't doing its job, the value of e does not satisfy the conditions
e = 0.9058
-1.4707
-2.4892
3.1803
-1.4966
-3.8782
-0.2953
2.1146
3.8051
0.4944
7.4861
-9.7195
-15.8602
-8.3353
9.6608
-31.9699
1.9543
-8.6885
-39.9836
10.8077
11.4135
10.6851
-8.5794
-1.9008