Пример #1
0
def func(ndim, x):
    alp1 = 0.
    alp2 = 0.
    alp3 = 0.
    print('x =', x)
    print('A =', A)
    print('Ax =', om.produitMat(A, x))
    cost = 0.5 * ov.scal(om.produitMat(A, x), x)
    # print('cost = ', cost)
    cons1 = x[0] + x[1] + x[2] - 1
    cons2 = x[0] * rendActions[0] + x[1] * rendActions[1] + x[2] * rendActions[
        2] - revObj
    cons3 = x[0] * x[1] / x[0] * x[1] - x[1] * x[2] / x[1] * x[2]
    f = cost + alp1 * abs(cons1) + alp2 * abs(cons2) + alp3 * abs(cons3)
    return f
Пример #2
0
    X.append([1, dates[i]])
X = np.asarray(X)

Y1 = []
for i in range(len(temperature1)):
    Y1.append(temperature1[i])
#Y1 = np.asarray(Y1)

Y2 = []
for i in range(len(temperature2)):
    Y2.append(temperature2[i])
#Y2 = np.asarray(Y2)

#On va résoudre un système du type AX = B

A = om.produitMat(om.transpose(X), X)
B1 = om.produitMat(om.transpose(X), Y1)
B2 = om.produitMat(om.transpose(X), Y2)

###RECHERCHE DES COEFFICIENTS

X1 = np.linalg.solve(A, B1)

X2 = np.linalg.solve(A, B2)

###CONSTRUCTION POLYNOME D APPROXIMATION

Droite1 = []
Droite2 = []

for i in dates:
Пример #3
0
def J(x):
    evaluation = om.produitMatNbr(0.5, ov.scal(om.produitMat(A, x), x))
    return evaluation
Пример #4
0
def H(p):
    xPrime = invA * transB * p
    evaluation = 1 / 2 * ov.scal(om.produitMat(
        A, invA * xPrime), xPrime) + ov.scal(p,
                                             om.produitMat(B, xPrime) - c)
    return evaluation
Пример #5
0
c = ([[1], [revObj]])

invA = om.inverse(A)
transB = om.transposee(B)


def H(p):
    xPrime = invA * transB * p
    evaluation = 1 / 2 * ov.scal(om.produitMat(
        A, invA * xPrime), xPrime) + ov.scal(p,
                                             om.produitMat(B, xPrime) - c)
    return evaluation


#On resoud une equation du type AX = B avec A = -BA^(-1)B^T et B = c
Atemp = om.produitMat(om.produitMatNbr(-1, B), om.produitMat(invA, transB))
p = np.linalg.solve(Atemp, c)
print('p = ', p)
x = om.produitMat(invA, om.produitMat(transB, p))

for i in range(nActions):
    x2 = np.zeros(nActions)
    x2[i] = max(x[i], 0)

propInvestiePrimal = x2

print('propInvestiePrimal', propInvestiePrimal)


##METHODE UZAWA
###########################################