You are on page 1of 6

Metodo pivote(restriccion, vMax)

mResult = [
[restriccion[0][0], restriccion[0][1], 1, 0, 0, restriccion[0][2]],
[restriccion[1][0], restriccion[1][1], 0, 1, 0, restriccion[1][2]],
[restriccion[2][0], restriccion[2][1], 0, 0, 1, restriccion[2][2]],
[-z[0], -z[1], 0, 0, 0, 0]
]
i=0
j=0
buscamen=9999999
colpiv = 0

para i hasta 4
para j hasta 6
si buscamen >= mResult[i][j]
buscamen = mResult[i][j]
colpiv = j

renglonpiv = 0
i=0
j=0

buscamay=999999999
cont=0
div=0

para i hasta 3
para j hasta colpiv+1
div = mResult[cont][5] / mResult[cont][colpiv]
cont += 1
si buscamay > div
buscamay = div
renglonpiv = i

retornar solveMatriz(mResult, vMax, renglonpiv, colpiv)


FinMetodo

Metodo solveMatriz (mResult, vMax, renglonpiv, colpiv)


cc1 = mResult[0][0]
cc2 = mResult[0][1]
r1 = 1
r2 = 0
r3 = 0
cc3 = mResult[0][2]
cc4 = mResult[1][0]
cc5 = mResult[1][1]
rr1 = 0
rr2 = 1
rr3 = 0
cc6 = mResult[1][2]
cc7 = mResult[2][0]
cc8 = mResult[2][1]
h1 = 0
h2 = 0
h3 = 1
cc9 = mResult[2][2]
maxz = -vMax[0]
maxz2 = -vMax[1]
val1 = 0
val2 = 0
val3 = 0
val4 = 0

si renglonpiv == 0
i = 0
j = 0
renpiv = 0
para i hasta renglonpiv+1
para j hasta 6
renpiv = mResult[renglonpiv][j] / mResult[renglonpiv]
[colpiv]
si j == 0
cc1 = renpiv
si j == 1
cc2 = renpiv
si j == 2
r1 = renpiv
si j == 3
r2 = renpiv
si j == 4
r3 = renpiv
si j == 5
cc3 = renpiv

si renglonpiv == 1
i = 0
j = 0
renpiv = 0
para i hasta renglonpiv+1
para j hasta 6
renpiv = mResult[renglonpiv][j] / mResult[renglonpiv]
[colpiv]
si j == 0
cc4 = renpiv
si j == 1
cc5 = renpiv
si j == 2
rr1 = renpiv
si j == 3
rr2 = renpiv
si j == 4
rr3 = renpiv
si j == 5
cc6 = renpiv

si renglonpiv == 2
i = 0
j = 0
renpiv = 0
para i hasta renglonpiv+1
para j hasta 6
renpiv = mResult[renglonpiv][j] / mResult[renglonpiv]
[colpiv]
si j == 0
cc7 = renpiv
si j == 1
cc8 = renpiv
si j == 2
h1 = renpiv
si j == 3
h2 = renpiv
si j == 4
h3 = renpiv
si j == 5
cc9 = renpiv

mResult = [
[cc1, cc2, r1, r2, r3, cc3],
[cc4, cc5, rr1, rr2, rr3, cc6],
[cc7, cc8, h1, h2, h3, cc9],
[maxz, maxz2, val1, val2, val3, val4]
]

retornar fullArray(mResult, vMax, renglonpiv, colpiv)


FinMetodo

Metodo fullArray (mResult, vMax, renglonpiv, colpiv)


cc1 = mResult[0][0]
cc2 = mResult[0][1]
r1 = 1
r2 = 0
r3 = 0
cc3 = mResult[0][2]
cc4 = mResult[1][0]
cc5 = mResult[1][1]
rr1 = 0
rr2 = 1
rr3 = 0
cc6 = mResult[1][2]
cc7 = mResult[2][0]
cc8 = mResult[2][1]
h1 = 0
h2 = 0
h3 = 1
cc9 = mResult[2][2]
maxz = -vMax[0]
maxz2 = -vMax[1]
val1 = 0
val2 = 0
val3 = 0
val4 = 0

si renglonpiv == 0
para i hasta 4
para j hasta 6
renglonviejo = mResult[i][j]
coeficientecolpiv = mResult[i][colpiv]
nuevorenglonpiv = mResult[renglonpiv][j]

resul = renglonviejo - coeficientecolpiv * nuevorenglonpiv

si(i == 1)
si(j == 0)
cc4 = resul
si(j == 1)
cc5 = resul
si(j == 2)
rr1 = resul
si(j == 3)
rr2= resul
si(j == 4)
rr3 = resul
si(j == 5)
cc6 = resul

si (i == 2)
si (j == 0)
cc7 = resul
si (j == 1)
cc8 = resul
si (j == 2)
h1 = resul
si (j == 3)
h2 = resul
si (j == 4)
h3 = resul
si (j == 5)
cc9 = resul

si (i == 3)
si (j == 0)
maxz = resul
si (j == 1)
maxz2= resul
si (j == 2)
val1=resul
si(j == 3)
val2=resul
si(j == 4)
val3 = resul
si(j == 5)
val4=resul

si renglonpiv == 1
para i hasta, 4
para j hasta 6
renglonviejo = mResult[i][j]
coeficientecolpiv = mResult[i][colpiv]
nuevorenglonpiv = mResult[renglonpiv][j]

resul = renglonviejo - coeficientecolpiv * nuevorenglonpiv


si (j == 0)
cc1 = resul
si (j == 1)
cc2 = resul
si (j == 2)
r1 = resul
si (j == 3)
r2 = resul
si (j == 4)
r3 = resul
si (j == 5)
cc3 = resul
para i hasta 4
para j hasta 6
renglonviejo = mResult[i][j]
coeficientecolpiv = mResult[i][colpiv]
nuevorenglonpiv = mResult[renglonpiv][j]

resul = renglonviejo - coeficientecolpiv * nuevorenglonpiv


si i == 2
si (j == 0)
cc7 = resul
si (j == 1)
cc8 = resul
si (j == 2)
h1 = resul
si (j == 3)
h2 = resul
si (j == 4)
h3 = resul
si (j == 5)
cc9 = resul
si i == 3
si (j == 0)
maxz = resul
si (j == 1)
maxz2 = resul
si (j == 2)
val1 = resul
si (j == 3)
val2 = resul
si (j == 4)
val3 = resul
si (j == 5)
val4 = resul

si renglonpiv == 2
para i hasta 4
para j hasta 6
renglonviejo = mResult[i][j]
coeficientecolpiv = mResult[i][colpiv]
nuevorenglonpiv = mResult[renglonpiv][j]

resul = renglonviejo - coeficientecolpiv * nuevorenglonpiv


si (i == 0)
si (j == 0)
cc1 = resul
si (j == 1)
cc2 = resul
si (j == 2)
r1 = resul
si (j == 3)
r2 = resul
si (j == 4)
r3 = resul
si (j == 5)
cc3 = resul

si (i == 1)
si (j == 0)
cc4 = resul
si (j == 1)
cc5 = resul
si (j == 2)
rr1 = resul
si (j == 3)
rr2 = resul
si (j == 4)
rr3 = resul
si (j == 5)
cc6 = resul

si (i == 3)
si (j == 0)
maxz = resul
si (j == 1)
maxz2 = resul
si (j == 2)
val1 = resul
si (j == 3)
val2 = resul
si (j == 4)
val3 = resul
si (j == 5)
val4 = resul

mResult =[
[cc1, cc2, r1, r2, r3, cc3],
[cc4, cc5, rr1, rr2, rr3, cc6],
[cc7, cc8, h1, h2, h3, cc9],
[maxz, maxz2, val1, val2, val3, val4]
]

retornar mResult
FinMetodo

Metodo imprimirArray (mResult)


imprimir("ANSWER ")
para i hasta mResult.longitud
para j hasta mResult[i].longitud
imprimir(mResult[i][j] + ' ')
FinMetodo

z = [0.85, 4.511]
restriccion = [[8, 5, 200], [7, 3, 180], [5, 7, 900]]
mResult = pivote(restriccion, z)
imprimirArray(mResult)

You might also like