La Ruta Crítica (CPM) – Gestión de Proyectos

Según muchas por no decir todas las definiciones de un proyecto, un proyecto es un esfuerzo temporal que tiene como fin generar un producto y/o servicio, para la obtención de este resultado se establece un conjunto de actividades que están relacionadas entre sí a través de precedencia (es decir hacer esto antes que inicie esto), estas actividades tienen como parámetro principal un tiempo requerido para la finalización de esta actividad, cuando se ha realizado la asignación de tiempos, existen actividades que son preponderantes dentro del proyecto, tal que una demora o un adelanto de ellas repercute en la misma medida en la duración total del proyecto e incluso definen la duración del mismo, al conjunto de actividades que determinan la duración del proyecto (incluso más adelante sus costos) se les denomina ruta crítica o CPM de sus siglas en ingles Critical Path Method, la ruta crítica asume actividades determinísticas (lo cual por lo general no sucede en la realidad al menos muy a menudo) es por ello que va acompañado de la técnica PERT (que hablaremos más adelante) que es probabilística.

Representación de una Red

  • Regla 1: Cada actividad está representada por uno, y solo un arco.
  • Regla 2: Cada actividad debe estar identificada por dos nodos terminales distintos
  • Regla 3: Para mantener las relaciones de precedencia  correctas, hay que contestar las siguientes preguntas: ¿Qué actividades preceden inmediatamente a la actividad actual?, ¿ Qué actividades siguen inmediatamente a la actividad actual?, ¿Qué actividades son concurrentes con la actividad actual?

La correcta representación de una red a través de estas reglas puede requerir del uso de actividades ficticias (la cual se representa en línea de rayas y no consume ni tiempo ni recursos) para garantizar la precedencia correcta entre las actividades. Por ejemplo sea:

  • La actividad C se inicia inmediatamente después de que las actividades A y B se han completado.
  • La actividad E puede iniciarse después de que se complete la actividad B.

r2

El gráfico izquierdo muestra la representación incorrecta, que en donde se entiende que la actividad E requiere que A y B estén terminadas, y eso es falso de acuerdo al enunciado ya que E puede continuar solo si B ha sido finalizado, el lado derecho es correcto, pero ha utilizado una actividad ficticia.

Ejemplo de Representación

Un editor firmó un contrato con un autor para publicar un libre de texto. El autor somete a consideración una copia impresa de un archivo de computadora del manuscrito. Las actividades (simplificadas) asociadas con la producción del libro  de texto se resume en la siguiente tabla:

ruta 1.png

Se representa de la siguiente forma:

R1

La regla 2 se cumple, existe un único nodo terminal por actividad, esto se logra añadiendo una activad ficticia a través del nodo 2 a 3.

También nos podemos encontrar respecto a la representación de la red en que el nodo es la actividad en sí misma y la red solo visualiza la precedencia, en la cual de no existir un inicio único se debe crear de forma ficticia, es decir:

r6

Cálculo de los Métodos de la  Ruta Crítica

Recordemos que el resultado final es un cronograma del proyecto, para ello se deben realizar cálculos que nos permitan obtener la siguiente información:

  • Duración total necesaria para completar el proyecto
  • Clasificación de las actividades del proyecto como críticas o no críticas

¿Cuándo una actividad es crítica y cuando no?

Una actividad es crítica si sus tiempos de inicio y terminación están predeterminados (fijos). Una actividad es no crítica si puede ser programada en un espacio de tiempo mayor que su duración, lo que permite tiempos de inicio y terminación flexibles dentro de los límites.

¿Cuál es el impacto de las actividades críticas en un proyecto?

Una demora en el tiempo de inicio de una actividad crítica definitivamente retrasa la terminación  del proyecto, en tanto que una demora en una actividad no crítica puede que no llegue a afectarlo.

Metodología de Cálculo

Para realizar los cálculos necesarios definimos un evento como un punto en el tiempo en el cual se completan las actividades y se inician las subsiguientes. En función de la red, un evento corresponde a un nodo, entonces:

αj=Tiempo de ocurrencia más temprana del evento j.

θj=Tiempo de ocurrencia más tardío del evento j.

Dij=Tiempo de ocurrencia más temprana del evento j.

Todos los tiempos de ocurrencia se miden a partir del inicio del proyecto. el lapso (αj,θj) define el periodo de tiempo durante el cual se programa la actividad (i,j) de duración Dij. Si la actividad (i,j) es crítica entonces:

Dij=θjαj

Sino:

Dij<θjαj

Los cálculos de la ruta crítica implican dos pasos. El paso adelantado, determina los tiempos de ocurrencia más tempranos de los eventos y el paso retrasado que calcula sus tiempos de ocurrencia más tardíos.

Paso Adelantado:

  • Los cálculos inician en el nodo 1 y avanzan recursivamente hacia el nodo n.
  • Establecemos αj=0 para indicar que el proyecto se inicia en el tiempo 0.
  • Dado que los nodos p, q, … y v están vinculados directamente al nodo j por las actividades entrantes (p,j),(q,j) … y (v,j) y que los tiempos de ocurrencia más temprano de los eventos (nodos) p,1,… y v ya se calcularon, entonces el tiempo más temprano de ocurrencia del evento j se calcula como:

αj=máx{αp+Dpj,αq+Dqj,…,αv+Dvj}

El paso adelantado se completa cuando se ha calculado αj  en el nodo n. Por definición, αj es la ruta de más larga duración al nodo j.

Paso Retrasado:

  • Los cálculos se inician en el nodo n y terminan en el nodo 1 y se da luego de haber culminado el paso adelantado.
  • Establecemos θj=αj para indicar que las ocurrencias más tardías del último nodo son iguales a la duración del proyecto.
  • Dado que los nodos p, q, … y v están vinculados directamente al nodo j por las actividades entrantes (j,p),(j,q) … y (j,v) y que los tiempos de ocurrencia más temprano de los eventos (nodos) p,1,… y v ya se calcularon, entonces el tiempo más temprano de ocurrencia del evento j se calcula como:

θj=min{θj-Djp,θj-Djq,…,θjDjv}

El paso retrasado termina con θ1=0 en el nodo 1

Condición para ser Actividad Crítica

Con base en los cálculos anteriores una actividad (i,j) será crítica si satisface 3 condiciones:

θij

θjj

Dijjj

Las 3 condiciones establecen que los tiempos de ocurrencia más tempranos y más tardíos de los nodos finales i y j son iguales y que la duración Dij encaja «perfectamente» en el espacio de tiempo especificado. Una actividad que no satisfaces las 3 condiciones no es crítica.

Por definición: «Las actividades críticas de una red constituyen la ruta más larga que abarca el proyecto desde el inicio hasta la terminación«.

Ejemplo de Cálculo 1

Determine la ruta crítica para la siguiente red de proyecto:

r3

Recordemos que el método se realiza nodo por nodo, entonces:

Paso adelantado :

  • Nodo 1: Tal como menciona el método en el paso 1, establecemos que α1=0 siempre en el nodo 1.
  • Nodo 2: Del nodo 1 al nodo 2 solo existe una forma de llegar, no tenemos de porque hallar un máximo sino solo realizar la acumulación, entonces: α21+D12==0+5=5
  • Nodo 3:Para llegar al nodo 3 se puede llegar desde el nodo 1 y el nodo 2, por lo cual debemos de hallar el máximo  α3=máx{α1+D132+D23}=máx{0+6,5+3}=8
  • Nodo 4: Para llegar al nodo 4 solo podemos hacerlo a través del nodo 2, entonces: α42+D24=5+8=13
  • Nodo 5: Para llegar al nodo 5 lo podemos hacer a través del nodo 4 y 3, recordemos que una actividad ficticia no consume ni tiempo ni recursos por lo que D45=0, de igual forma debemos hacer: α5=máx{α3+D354+D45}=máx{8+2,13+0}=13
  • Nodo 6:Para llegar al nodo 6 podemos hacerlo a través del nodo 3, 4 y 5, entonces debemos de hallar el máximo:

α6=máx{α3+D364+D465+D56}=máx{8+11,13+1,13+12}=25

El 25 hace referencia a que el proyecto puede completarse en 25 días.

Paso retrasado:

Recuerda que el paso retrasado se realiza luego del paso adelantado, esto es debido al paso del método.

  • Nodo 6: Establecemos que θ66=25
  • Nodo 5: En cada nodo debemos de elegir el mínimo recorrido, debes de imaginar que es en el nodo 6 que inicia del proyecto, desde esta perspectiva verás que para llegar al nodo 5 solo se puede hacer desde el nodo 6, por lo tanto el nodo θ56-D56=25-12=13.
  • Nodo 4: Para llegar al nodo 4 podemos hacerlo a través del nodo 5 y 6, por lo tanto debemos de elegir el mínimo, entonces: θ4=min{θ6-D465-D45}=min{25-1,13-0}=13.
  • Nodo 3: Para llegar al nodo 3 podemos hacerlo a través del nodo 5 y 6, por lo tanto debemos de elegir el mínimo, entonces θ3=min{θ6-D365-D35}=min{25-11,13-2}=11
  • Nodo 2: Para llegar al nodo 2 podemos hacerlo a través del nodo 3 y 4, por lo tanto debemos de elegir el mínimo, entonces θ4=min{θ3-D234-D24}=min{11-3,13-8}=5.
  • Nodo 1: Para llegar al nodo 1 podemos hacerlo a través del nodo 3 y 2, por lo tanto debemos de elegir el mínimo, entonces θ1=min{θ3-D132-D12}=min{11-6,5-5}=0.

Hacemos una tabla comparativa para revisar cuales cumplen las 3 condiciones:

Aunque es independiente el orden de la comprobación se puede sugerir que se empiece corroborando la tercera condición:

r4

De las que han cumplido pasamos a verificar si cumplen las demás condiciones:

r5

Vemos que todos los que hemos seleccionado cumplen la condición, entonces podemos decir que la ruta crítica se encuentra en:

(1;2)->(2;4)->(4;5)->(5;6)

Ejemplo de Cálculo 2

Para ello tenemos que hacer algunas precisiones sobre la definición, respecto a los eventos de inicio temprano, podemos decir que una actividad tiene un inicio y un fin, pero este inicio y fin se encuentran pueden ser tempranos o tardíos, es así que tenemos:

Sobre los eventos de inicio temprano:

  • Tiempo de Inicio Temprano (ES por las siglas en inglés de Early Start) que se expresa como:  ES=αj=máx{αp,αq,…,αv}
  • Tiempo de Terminación más temprano (EF por las siglas en inglés de Early Finish) que se expresa como α(máximo obtenido en ES) más la duración de la actividad Dij, entonces: EF=αjmax+Dactividad.

Sobre los eventos de inicio tardío:

  • Tiempo de Terminación más tardío (LF por las siglas en inglés de Late Finish) que se expresa como LF=θj=min{θpq,…,θv}.
  • Tiempo de Inicio más tardío (LS por las siglas en inglés de Late Start) se expresa como θ(mínimo obtenido en LF) menos la duración de la actividad Dij, entonces: LS=θjmin-Dactividad

Entonces podemos reconstruir la red de la siguiente forma:

r7

En cada uno de los nodos vamos hallar y colocar de la siguiente forma:

r8

Para obtener los valores en secuencia en la red, se sigue el método de paso adelantado y paso retrasado, entonces queda de la siguiente forma:

r9.png

Paso Adelantado

  • Lo primero a resolver es el paso adelantado, el paso adelantado está conformado por ES y EF, entonces tenemos el nodo inicio el cual su ES=0 y tiene una duración de 0, por lo cual EF=0.
  • En el nodo B, ingresa el EF de inicio como el ES de B, como la actividad de B dura 6, entonces EF=0+6=6.
  • En el nodo A, de similar forma que en el nodo B.
  • En el nodo C ingresa el EF de A como inicio ES de C, como la actividad C dura 3, entonces EF=8.
  • En el nodo E, se tiene que dos actividades C y B se requieren para iniciar E, entonces debemos de elegir el mayor EF entre C y B el cual es 8 (de la actividad C) y la duración de la actividad E es 2, entonces EF=8+2=10.
  • En el nodo F, ingresa el EF de B como el ES de F, como la actividad de F dura 11, entonces EF=14+11=25.
  • El nodo H debe elegirse el máximo entre E y D, siendo D el máximo, entonces el EF de D ingresa como ES de H y el EF de H es 25 ya que la actividad de H dura 12.
  • En G su ES es el EF de D y el EF de G es 14 ya que la duración de la actividad es 1.

Paso Atrasado

  • El paso atrasado sucede cuando se ha finalizado el paso adelantado, lo primero que se resuelve es el LF, en el nodo fin LF=EF, haciendo ello entonces LF=25, como la actividad dura 0 entonces el LS=LF-0=25-0=25.
  • El nodo H recibe como LF el EF del nodo FIN que es 25, entonces el LS de H es igual a LS=LF-D=25-12=13.
  • El nodo F y G de similar forma que el nodo H.
  • En el nodo D tenemos una doble concurrencia, para ello debemos de elegir el menor EF entre los nodos H y G, siendo H el menor con 13, entonces el LF=13 y el LS=13-8=5.
  • Podemos repetir los mismos pasos con los demás nodos.

La obtención de la ruta crítica se obtiene reconociendo las holguras, una holgura es el tiempo extra en el cual una actividad puede iniciar o finalizar, si esta holgura es cero significa que la actividad en cuestión es crítica, la holgura se divide en Holgura Libre (Hl) y Holgura Total (Ht) y se representan como:

Ht=LF-EF

Hl=LS-ES

Entonces revisando la red tenemos que la ruta crítica está compuesta de las actividades:

A-D-H

 

 

 

 

Método del Flujo máximo

INTRODUCCIÓN

El flujo máximo es un método aplicable para la optimización de rutas entre dos puntos de importancia, esto es aplicable a oleoductos, redes eléctricas o de transmisión de datos, ya que en dichas situaciones se debe determinar el flujo máximo que pasa a través de una red, aspectos más cercanos es la repartición de recursos con el fin de maximizar la eficacia en su uso, por ejemplo si tenemos ingenieros y su repartición en las tareas durante un mes, el flujo máximo es uno de los métodos que se emplea dentro de la ingeniería industrial haciendo uso de los digrafos (grafos dirigidos).

ALGORITMO

Revisemos la metodología del algoritmo obtenido del libro: «Investigación de Operaciones» Novena Edición – Hamdy A.Taha, página – 237.

Este algoritmo  se basa en el hallazgo de rutas de avance con flujo positivo entre los nodos fuente y sumidero. Cada ruta destina una parte de o todas las capacidades de sus arcos al flujo total en la red. Consideramos el arco (i,j) con las capacidades bidireccionales ( de diseño):

1
Capacidad de diseño

Como algunas partes de estas capacidades se destinan al flujo en el arco, los residuos (capacidades no utilizadas, o flujo remanente) del arco se actualizan. Se usa para los residuos la notación:

2
Capacidad Residual

Para un nodo J que recibe flujo del nodo I, anexamos la etiqueta [Aj,i] donde Aj es el flujo del nodo I al nodo J.

  • Paso 1: Para todos los arcos, iguale la capacidad residual a la capacidad de diseño, entonces:

3

Sea:

4

Etiquetando entonces al nodo fuente con:

5

  • Paso 2: Determinar Si, el conjunto de nodos no etiquetados J al que se puede llegar directamente desde I por medio de arcos con residuos positivos ( es decir Cij>0 para todas las J que pertenecen a Si). Si  Si  es diferente al vacío, se continua con el paso 3. De lo contrario, una ruta parcial termina en el nodo i. Continúe con el paso 4.
  • Paso 3: Determine k que pertenece a Si de modo que:

6

Donde j pertenece a Si.

  • Paso 4: (Retroceso) – Si i=1, no es posible avanzar; continúe con el paso 6. De lo contrario, sea r el nodo (en la ruta parcial) que se etiquetó inmediatamente antes del nodo actual i, y elimine i del conjunto de nodos adyacentes a r. Designe i=r, y regrese al paso 2.
  • Paso 5: (Determinación de los residuos) – Defina los nodos de la ruta de avance p-ésima del nodo 1 al nodo n como Np=(1,k1,k2, …,n). Entonces el flujo máximo a lo largo de la ruta se calcula como:

fp=min{a1,ak1,ak2,..,an}

La capacidad residual de cada arco a lo largo de la ruta de avance se reduce en fp en la dirección del flujo, y se incrementa en fp en la dirección inversa; es decir, para los nodos i y j en la ruta, el flujo residual cambia del actual (cij,cji) a:

(a) (cij-fp,cji+fp) si el flujo es de i a j

(b) (cij+fp,cn+fp) si el flujo es de j a i

Restaure los nodos que se eliminaron en el paso 4. Designe i=1, y regrese al paso 2.

Paso 6: (Solución) – dado que se determinaron m rutas de avance, el flujo máximo en la red es:

F=f1+f2+ … + fm

EJEMPLO

Determinemos el flujo máximo de:

flujo_maximo

Iteración 1

Iguale los residuos iniciales  a las capacidades iniciales

Paso 1: Establezca a1 igual a infinito y etiquete el nodo 1 con [∞,-]. Establezca  i=1

 

fm1

Paso 2: Hallamos el conjunto Sde nodos que no están etiquetados y que se pueden unir directamente con i=1, desde el nodo 1 nos podemos conectar a 2, 4 y 3, entonces:

S1={2,3,4} (≠∅)

Paso 3: Determina k ∈ Sde modo que cik=max{cij} tal que  j ∈ S1 . Es decir del conjunto debemos hallar el valor máximo de [ c12,c13,c14]=[10,30,20], entonces  30 es el máximo y en consecuencia k=3 quedando c13=max[c12,c13,c14], etiquetamos el nodo 3 con la etiqueta [30,1] y hacemos i=3 y repetimos el paso 2.

fmi1p3

Paso 2: Ya que nuestro nuevo i=3, entonces debemos de hallar todos los nodos no etiquetados y que se pueden unir al nodo 3 directamente, entonces:

S3={4,5} (≠∅)

Paso 3: Debemos hallar el k en S3 de modo que Cjk sea máximo, y tal como vemos el máximo flujo es 20, entonces k=5.

fmi1p3_2

Paso 5: La ruta de avance se determina a partir de las etiquetas iniciando en el nodo 5 y regresando al nodo 1; es decir (5)->[20,3]->(3)->[30,1]->(1). De este modo N1=[1,3,5] y f1=min{a1,a3,a5}={∞,30,20}=20. Si sabemos que:

(a) (cij-fp,cji+fp) si el flujo es de i a j.

(b) (cij+fp,cn+fp) si el flujo es de j a i.

Las capacidades residuales a lo largo de la ruta N1 son:

(c13,c31)=(30-20,0+20)=(10,20)

(c35,c53)=(20-20,0+20)=(0,20)

Quedando de la siguiente forma:

fmi1p5

Iteración 2

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca  i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún desde el nodo 1 se puede conectar a los demás nodos, entonces el conjunto S1={2,3,4}.

Paso 3: Determina k ∈ Sde modo que cik=max{cij} tal que  j ∈ S1 . Entonces el máximo es c12=20.

fmi2p32

Paso 2: El nuevo i=2 y los que se conectan directamente son: S2={3,5}

Paso 3: El cik máximo es a3=c23=40, entonces k=3 y etiquetamos el nodo 3 con [40,2], y repetimos el Paso 2.

fmi2p33

Paso 2: El nuevo i=3 y los que se conectan directamente son: S3={4,5}.

Paso 3: El cik máximo es a4=c34=10, entonces k=4 y etiquetamos el nodo 4 con [10,3], y repetimos el Paso 2.

fmi2p35

Paso 2: El nuevo i=4 y los que se conectan directamente son: S4={5}.

Paso 3:El cik máximo es a5=c45=20, entonces k=5 y etiquetamos el nodo 5 con [20,4] y se completó una ruta de avance.

fmi2p37.png

Paso 5: La ruta de avance se determina a partir de las etiquetas iniciando en el nodo 5 y regresando al nodo 1; es decir (5)->[20,4]->(4)->[10,3]->(3)->[40,2]->(2)->[20,1]->1. De este modo N1=[1,2,3,4,5] y f2=min{a1,a2,a3,a4,a5}={∞,20,40,10,20}=10. Si sabemos que:

(a) (cij-fp,cji+fp) si el flujo es de i a j.

(b) (cij+fp,cn+fp) si el flujo es de j a i.

Las capacidades residuales a lo largo de la ruta N1 son:

(c12,c21)=(20-10,0+10)=(10,10)

(c23,c32)=(40-10,0+10)=(30,10)

(c34,c43)=(10-10,5+10)=(0,15)

(c45,c54)=(20-10,0+10)=(10,10)

Quedando de la siguiente forma:

fmi2p38.png

Hemos realizado 2 iteraciones al detalle, para entender como procede el algoritmo, ahora seguiremos con las demás iteraciones de forma descriptiva y dejaremos la red resultante al final de cada una de las iteraciones.

Iteración 3

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca  i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún desde el nodo 1 se puede conectar a los demás nodos, entonces el conjunto S1={2,3,4}.

Paso 3: Determina k ∈ Sde modo que cik=max{cij} tal que  j ∈ S1 , vemos que tenemos un empate, entonces los empates se pueden romper de forma arbitraria; sin embargo, se estila elegir el de menor índice, por lo cual elegimos el nodo 2. El máximo es c12=10 y etiquetamos al nodo 2 con [10,1]. Ahora hacemos i=2 y repetimos el paso 2.

Paso 2: Con i=2, entonces S2={3,5},

Paso 3: También existe un empate, tomamos el menor índice en este caso k=3 u a23=30. Etiquetamos el nodo con [30,2]. Se establece i=3, y se repite el paso 2.

Paso 2: Para S3={∅} ya que c34=0 y c35=0, esto nos obliga ir al paso 4 para retroceder.

Paso 4: La etiqueta [30,2] que está en el nodo 3 se elimina y r=2 es decir nos dirigimos hacia el nodo anterior y se repite el paso 2 sin considerar ya el nodo 3.

Paso 2: S2={5} (se ve que se eliminó al nodo 3).

Paso 3: Como S2 solo tiene un elemento, entonces k=5, c25=30, se etiqueta el nodo 5 con [30,2]. Se logra una ruta de avance y se pasa al paso 5.

Paso 5: N3=[1,2,5] y  f3=min{∞,10,30)=10. Los residuos de la ruta son:

(c12,c21)=(10-10,10+10)=(0,20)

(c25,c52)=(30-10,0+10)=(20,10)

Quedando de la siguiente forma:

fmi3p1.png

Iteración 4

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca  i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún desde el nodo 1 se puede conectar a los demás nodos, entonces el conjunto S1={3,4}.

Paso 3: Determina k ∈ Sde modo que cik=max{cij} tal que  j ∈ S1 , vemos que tenemos un empate, entonces los empates se pueden romper de forma arbitraria; sin embargo, se estila elegir el de menor índice, por lo cual elegimos el nodo 3. El máximo es c13=10 y etiquetamos al nodo 3 con [10,1]. Ahora hacemos i=3 y repetimos el paso 2.

Paso 2: Con i=3, entonces S3={2}.

Paso 3: Como S3 solo tiene un elemento, entonces k=2, c32=10, se etiqueta el nodo 2 con [10,3]. Se logra una ruta de avance y se pasa al paso 2.

Paso 2: Con i=2, entonces S2={5}.

Paso 3: Como S2 solo tiene un elemento, entonces k=5, c25=20, se etiqueta el nodo 5 con [20,2]. Se obtiene una ruta de avance y se pasa al paso 5.

Paso 5: N3=[1,3,2,5] y  f4=min{∞,10,20)=10. Los residuos de la ruta son:

(c13,c31)=(10-10,20+10)=(0,30)

(c32,c23)=(10-10,30+10)=(0,40)

(c25,c52)=(20-10,10+10)=(10,20)

Quedando de la siguiente forma:

fmi4p1

Iteración 5

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca  i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún  nos queda una ruta de avance desde el nodo 1 al nodo 4, entonces el conjunto S1={4}.

Paso 3: Determina k ∈ Sde modo que cik=max{cij} tal que  j ∈ S1 , al ser un único nodo entonces k=4, c14=10, etiquetamos el nodo 4 con [10,1] y pasamos al paso 2.

Paso 2: Desde el nodo 4 tenemos S4={3,5}

Paso 3: el cik máximo es k=3 y etiquetamos el nodo 3 con [15,4], establecemos i=3 y pasamos al nodo 2.

Paso 2: Para S3={∅} ya que c35=0 y c32=0, esto nos obliga ir al paso 4 para retroceder.

Paso 4: La etiqueta [15,4] que está en el nodo 3 se elimina y r=4 es decir nos dirigimos hacia el nodo anterior y se repite el paso 2 sin considerar ya el nodo 3.

Paso 2: Desde el nodo 4 tenemos S4={5} (ya no contamos con el nodo 3), entonces i=5.

Paso 3: El máximo es C45=10, y agregamos la etiqueta en le nodo 5 de [10,4], hemos obtenido una ruta de avance y pasamos al paso 5.

Paso 5: N4=[1,4,5] y  f5=min{∞,15,10)=10. Los residuos de la ruta son:

(c14,c41)=(10-10,0+10)=(0,10)

(c45,c54)=(10-10,10+10)=(0,20)

Quedando de la siguiente forma:

fmi5p1.png

Iteración 6

Todos los arcos que parten del nodo 1 tienen residuos cero. Por lo tanto, no son posibles más rutas de avance. Se procede al paso 6 para la resolución:

Paso 6: El flujo máximo (F) será: F=f1+f2+ … + f5=20+10+10+10+10=60 unidades.

 

Las Cuentas Transaccionales en el Sector Emprendedor

Definiciones

Una cuenta transaccional es aquella donde el dinero depositado puede retirarse en cualquier momento. Este tipo de cuentas también se les conoce como cuentas de depósito a la vista. Las cuentas transaccionales que existen son las siguientes:

  • Cuentas de cheques
  • Cuenta básica de nómina
  • Cuenta básica para el publico en general
  • Cuenta de nómina.

Para disponer de los recursos, utilizamos las tarjetas de débito, cheques o las transferencias electrónicas

Tipos de Cuentas Transaccionales

  • Cuentas de cheques: Estas cuentas bancarias están relacionada con un medio de disposición tradicional, los cheques. El titular de la cuenta gira o expide un cheque para pagar bienes o servicios, después el banco está obligado a pagar el cheque y cargar la cantidad de dinero establecida en el cheque en la cuenta del cliente.
  • Cuenta básica de nómina: Es una cuenta de depósito a la vista. Este producto tiene como objetivo facilitar el acceso al sistema bancario a personas con pocos recursos mediante instrumentos homogéneos, sencillos y fáciles de entender. Estas cuentas están exentas de las comisiones de apertura, consultas y otros conceptos, siempre que las cantidades que se depositen de forma mensual no exceda un importe establecido.
  • Cuenta Básica para el público en general: Estas cuentas requieren cumplir una serie de condiciones como mantener un saldo promedio mensual mínimo, pero no suelen requerir un monto mínimo de apertura.

Sector Emprendedor

Un emprendedor en pocas palabras es aquél que lanza y pone en funcionamiento un negocio, esto puesto que ha identificado una oportunidad y ha organizado sus recursos de tal forma que pueda aprovecharla, en Perú  los emprendedores están agrupados en su gran mayoría dentro del sector mype (micro y pequeña empresa); si observamos algunos datos sobre las mypes sobre ellos veremos que son responsables del 40% de aportes al PBI y agrupa el 99% de las empresas existentes en el país. Los emprendedores se desenvuelven en términos financieros dentro del sector de las micro-finanzas; la micro-finanza puede definirse como: «La provisión de servicios financieros para personas en situación de pobreza, micro-empresas o clientes de bajos ingresos, incluyendo consumidores o auto empleados; el término micro-finanza hace referencia a la prestación de servicios financieros a personas o grupos cuyo acceso a los sistemas bancarios tradicionales es limitado en virtud de su condición socio económica« Wikipedia.

Instituciones de Micro-Finanzas en el Perú y rol en el sector Emprendedor

Su principal rol es la bancarización (canalización de las operaciones a través de medios legales) del sector emprendedor, según el informe «Microfinanzas: un análisis de
experiencias y alternativas de regulación»-Revista de Temas Financieros-SBS en la página 75, se muestra las principales instituciones de micro-finanzas a nivel mundial, en términos de activos las más representativas en el sector nacional son:

chartActivos
Fuente: Elaboración propia

El líder indiscutible es MiBanco en términos de activos y en la colocación con una participación del 31.4%

charPortafolioPrestamos
Fuente: Elaboración Propia

Sobre este liderazgo es importante acotar  que si bien Mibanco tenía una participación importante, la absorción de Edyficar le permitió complementar su portafolio de créditos.

Entonces, ¿Qué tipo de servicios ofrecen estas Instituciones Micro financieras?. Podríamos resumir que su cartera de productos se divide en:

 

 

 

De la Fabricación Digital y sus Implicancias en la Industria Peruana – Parte 2

Hace un par de días inicie esta serie de apartados con la finalidad de generar algún tipo de reflexión sobre la fabricación digital y sus implicancias en la industria peruana, en el post anterior mencioné que existen 3 palabras claves alrededor de este análisis, Revoluciones industriales, Fabricación Digital e Industria Peruana, se abordó sobre la implicancia de la tercera revolución industrial que aunque ya se haya acuñado el nombre de la cuarta a la tercera aún le queda mucho por recorrer  aun más cuando nos acercamos a la siguiente evolución de la digitalización con el uso intensivo del internet de las cosas y que si bien la cuarta hace hincapié en los sistemas biológicos estos aún no resultan tan factibles de ser implementados en la industria, estos sistemas siguen siendo la frontera más lejana, que puede que ya haya demostrado su factibilidad pero no su rendimiento (aquí la nota) y aplicación. En este apartado nos dedicaremos a la fabricación digital.

La Fabricación Digital

La fabricación digital es un sistema de técnicas y metodologías que se basa en el proceso

aba

Y aunque cada uno de sus componentes representa un proceso con un resultante único no pueden llamarse fabricación digital sino se realiza como mínimo dos de los procesos en conjunto sea cual fuere el orden. El proceso productivo finalmente sigue siendo el mismo con detalles que lo caracterizan como propios de la tercera revolución industrial

fabricacionDigital

La fabricación digital hace uso intensivo del Control Numérico por Computador.

La manufactura aditiva (expresada en la impresión 3D).

Los programas por computador especializados CAM y CAD.

La ola de la electrónica libre

Las máquinas y programas de computador mostrados comparten algo en común, son accesibles económicamente o tienen una vía freeware, se aprovechan de la corriente prosumer que en términos de fabricación se expresa en las comunidades Maker. Los fabricantes de máquinas y software apuestan por una reducción de la complejidad en el uso y diversificación de posibilidades de creación. La consecuencia directa del uso de máquinas CNC es requerir el uso de materiales de formas regulares como lo son los tableros de madera, en especial los denominados MDF. Existe una fuerte inclinación hacia el diseño del producto, lo que brinda una complejidad y ventaja competitiva dura, esto aunado a la corriente de la personalización de los productos hace que los desarrollos puedan darse de forma comunitaria fortaleciendo el diseño al verse expuesto, lo físico sigue la dinámica que sigue desde hace mucho el software y que ya tiene comunidades de desarrollo muy cimentadas.

Una ventaja competitiva dura la podemos definir como aquella que se encuentra intrínsecamente ligada al diseño del producto y se expresa a través de los componentes del producto y su relación entre ellos, esto tiene una consecuencia directa sobre las ventajas que puede aprovechar una empresa:

caramelo

Cuando no se dispone de una ventaja competitiva dura, los productos entre una empresa y otra siempre serán los mismos, una silla será similar a otra tanto en materiales y proceso constructivo; sin diferenciación se puede entrar en una suerte de guerra de costos, para evitar ello las empresas estilan adquirir lo que definimos como ventajas competitivas blandas (sin relación alguna con habilidades blandas o duras), cuando usamos el término de duro o blando solo queremos referirnos a su fácil penetración o copia, una ventaja competitiva blanda puede expresarse en una apuesta hacia el marketing, mejor gestión, mejora del proceso productivo, podemos tener una sumatoria de las mismas y siempre seguirían siendo solo envolturas respecto a un producto que no posee una ventaja en sí mismo, recordemos que el diseño del producto re-define el proceso de fabricación, y es en el donde se define la estética y funcionalidad de un producto.

touch1

De la Fabricación Digital y sus Implicancias en la Industria Peruana – Parte 1

Hace un par de días, producto de una presentación que tenía para validar un viaje, me acusó una serie de reflexiones sobre la fabricación digital y sus implicancias para con la industria peruana, y como tal observé y me sorprendí lo diferenciado de pensamiento entre muchos entendidos del tema que se esta alrededor de si sus potencialidades impactan sobre la industria peruana existente o está generando una nueva (parte de las industrias creativas) y si esta representa uno de los tantos medios para acoplarse a la tercera o cuarta revolución industrial, este contenido, por ser producto de un análisis y propia conclusión, siempre puede estar sujeto a cualquier tipo de discrepancia, pero entonces, vayamos por partes.

Este análisis parte de 3 palabras claves: fabricación digital, revoluciones industriales e industria peruana (solo para contextualizar). Cuando hablamos de las revoluciones industriales, hablamos de momentos de cambios de paradigma sobre el como se produce, está demás decir que dichos cambios traen cambios de carácter social y cultural de la mano.

Revoluciones Industriales

Podemos resumir a las revoluciones industriales que nos han sucedido en el siguiente gráfico, esto ha sido abordado desde la observación de la evolución de las máquinas herramientas.

lasrevoluciones

 Y nos ceñiremos a lo siguiente: ¿Qué es la tercera y cuarta revolución industrial?; la tercera revolución tiene un fuerte componente tecnológico, en especial el causado por la evolución exponencial de las comunicaciones a través del internet, estamos en la era de lo inteligente (¿realmente inteligente?, quizá más en la exploración de lo inteligente), este término de «Tercera Revolución Industrial» fue acuñado por Jeremy Rifkin en su libro del mismo nombre en el 2011, en su libro se sostiene que lo que caracteriza la tercera revolución industrial es lo siguiente:

  • La transición hacia el uso de energías renovables
  • Una transformación cada vez mayor a edificaciones que generen energía
  • Mejora de las tecnologías de almacenamiento (baterías, pilas de hidrógeno).
  • Desarrollo de una red eléctrica inteligente o red de distribución de energía eléctrica
  • Transporte basado en vehículos eléctricos

La cuarta revolución industrial fue un término acuñado por Klaus Schwab, el cual en su artículo: «La cuarta revolución industrial: Qué significa, como responder» menciona:

La Primera Revolución Industrial utilizó la energía del agua y el vapor para mecanizar la producción. La Segunda uso energía eléctrica para crear producción en masa. La Tercera utilizó la electrónica y la Tecnología de Información para automatizar la producción. Ahora, la Cuarta Revolución Industrial se basa en la Tercera, la revolución digital que se viene produciendo desde mediados del siglo pasado. Se caracteriza por una fusión de tecnologías que está difuminando las líneas entre las esferas física, digital y biológica.”.

Frente a este enunciado, Jeremy Rifkin respondió en su artículo «El Foro económico mundial falla con su tema La Cuarta Revolución Industrial«:

¿Realmente importa si clasificamos la configuración tecnológica emergente como una Tercera o Cuarta Revolución Industrial? Yo creo que sí. Tanto el profesor Schwab como yo estamos de acuerdo en que la introducción de la tecnología digital en la sociedad durante el último medio siglo ha generado enormes redes interconectadas, cambiando fundamentalmente la manera en que organizamos nuestra vida económica, política y social. Los dos también estaríamos de acuerdo en que la digitalización es el sello distintivo y la tecnología que define a lo que se conoce como la Tercera Revolución Industrial.

Y hace la observación en que a la Tercera Revolución industrial le queda mucho camino por delante desde el momento en que nos aproximamos a la explosión que significaría el internet de las cosas lo cual traería una nueva etapa de digitalización.

internet-of-thingsEs importante acotar que ya se están realizando alcances sobre sistemas biológicos que tengan una implicancia para la industria;sin embargo, es muy pronto para decir que ello tiene un impacto a corto plazo, producto de las revoluciones de las comunicaciones (internet es uno de los mejores exponentes), estamos a un proceso de sofisticación de la maquinaria, pero al mismo tiempo en una reducción de sus costos, estos costos son empujados por la creación colaborativa que se vive a través de internet.

Esto trae otra dinámica de comportamiento del usuario:

Pasamos de una forma de consumo, donde no participamos de forma activa en la definición del producto, con el tiempo ha ido cambiando, donde podemos participar pero solo de forma pasiva, opiniones, focus-group, etc.

2darev

A una más activa con la tercera revolución industrial y que aprovecha la figura del prosumer, un usuario más activo en el proceso productivo, que crea y que comparte información, esto ha escapado más allá del software y se  traslada al mundo físico.

3era

Es una de las manifestaciones de la tercera revolución industrial, donde es posible que la innovación ya no sea propia de un trabajo intensivo de pocos, sino la búsqueda colaborativa de una solución a una necesidad común sin importar las cercanías geográficas.

Este post, ya se ha extendido mucho, seguimos en otro…

Programación Lineal- Método Simplex

La programación lineal es el campo de la programación matemática dedicado a maximizar o minimizar (optimizar) una función lineal, denominada función objetivo, de tal forma que las variables de dicha función estén sujetas a una serie de restricciones expresadas mediante un sistema de ecuaciones o inecuaciones también lineales. El método tradicionalmente usado para resolver problemas de programación lineal es el Método Simplex.

Método Simplex

El método Simplex es un método analítico de solución de problemas de programación lineal capaz de resolver modelos más complejos que los resueltos mediante el método gráfico sin restricción en el número de variables. El método Simplex es un método iterativo que permite ir mejorando la solución en cada paso. La razón matemática de esta mejora radica en que el método consiste en caminar del vértice de un poliedro a un vértice vecino de manera que aumente o disminuya (según el contexto de la función objetivo, sea maximizar o minimizar), dado que el número de vértices que presenta un poliedro solución es finito siempre se hallará solución.

Matriz Identidad

Una matriz puede definirse como una ordenación rectangular de elementos, (o listado finito de elementos), los cuales pueden ser números reales o complejos, dispuestos en forma de filas o de columnas. La matriz identidad es una matriz cuadrada (que posee el mismo número tanto de columnas como de filas) de orden n que tiene todos los elementos diagonales iguales a uno (1) y todos los demás componentes iguales a cero (0), se denomina matriz identidad de orden n, y se denota por:

matriz-identidad

El método Simplex basa su algoritmo en la teoría de matrices por lo cual su comprensión es fundamental. Antes de revisar con profundidad el método simplex conviene tener en cuenta las siguientes reglas de equivalencias:

EQUIVALENCIAS

Primera Regla

  • Maximizar cX es equivalente a minimizar -cX.

e1

  • O también se puede realizar a la inversa, minimizar cX es equivalente a maximizar -cX

e2

Segunda Regla

  • Una desigualdad AX<=b es equivalente a -AX>=b

e3

  • Esta regla también se puede dar al revés así: Una desigualdad AX>=b es equivalente a -AX<=-b

e4

Tercera Regla

Toda restricción de la forma AX=b se puede establecer como la intersección de dos desigualdades así: AX<=b y AX>=b. Ejemplo: Si tenemos a 4X1+3X2+3X3=120 horas, es equivalente a la intersección de las restricciones:

e5

 

MÉTODO SIMPLEX 

Para el método simplex debemos de seguir los siguientes pasos:

  • PASO 1: Debemos de llevar la función objetivo al tipo de maximización  mediante la primera regla de equivalencia.
  • PASO 2: Debemos de transformar todas las restricciones a igualdades (este proceso también es considerado como estandarizar) de la siguiente forma:
    • Restricción <=: se suma una variable de holgura
    • Restricción >=: se resta una variable sobrante y se suma una variable artificial (A) para generar el vector unitario. De igual forma se penaliza  a la función objetivo restando con la variable artificial, asignando a la variable artificial un coeficiente infinitamente grande (M) que tienda al infinito. Por ejemplo -MA.
    • Restricción =: sume una variable artificial para generar el vector unitario y penalice la función objetivo.
  • PASO 3: Llevamos a todos los coeficientes al tablero simplex tal como se muestra a continuación:

s1

Tal que en Cj se ubican los coeficientes de la función objetivo, los coeficientes asignados a las holguras serán cero; en Ci se colocan los coeficientes de la función objetivo pero solo de las variables básicas, las variables básicas al inicio están conformadas por las holguras y variables artificiales. En Xi se colocan los valores de las variables básicas; en bi se colocan los valores del término independiente (los valores numéricos a lado derecho de las restricciones; Zj=∑CiXi.

  • PASO 4: Seleccionamos la variable  que entra a la base; aquella variable que tenga el Cj-Zj (en algunos textos es Zj-Cj en el cual se seleccionará el más negativo) más positivo, en caso de haber empate entre dos o más variables el empate se romperá arbitrariamente.

s2

Supongamos que sea la columna en X2 la de mayor Cj-Zj.

  • PASO 5: Seleccionamos la variable que sale de la base, la variable que sale se obtiene al obtener el cociente entre cada valor de bi y su correspondiente valor en la columna en el que se encuentra X2, hallado todos los cocientes, se selecciona el menor de ellos, así también no se consideran los cocientes que sean menores a cero o tiendan al infinito.

s3

  • PASO 6: Hallada la variable de entrada y de salida la intersección se denomina pivote
  • PASO 7:El valor del pivote siempre ha de ser 1, por lo que se emplean operaciones matriciales como multiplicación o división para obtener dicho valor (demás quizá esté decir que dichas operaciones afectan a toda la fila).
  • PASO 8:Todas las posiciones que se encuentren en la columna del pivote, deben convertirse a cero, esto se logra a través de operaciones matriciales de suma, resta, multiplicación y división.
  • PASO 9: Hecho esto se vuelve a calcular todos los valores de Zj y se obtiene de igual forma el Cj-Zj.
  • PASO 10: Si ya no existe un Cj-Zj positivo se ha obtenido el valor óptimo, en caso de existir se procede a realizar los pasos 5 al 9.