En fait je sais pas d'où sort ton y1 dans ta forme standard, mais bon passons.
Maximiser Z, c'est pareil que minimiser -Z. Tu as donc un truc de la forme :
min -Z
contraintes
Ensuite, tu rajoutes des variables zi (autant de zi que de contraintes), de manière à ce que le polytope des solutions soit non-vide. Pour l'instant, c'est pareil que le simplexe à deux phases.
La différence, c'est que au lieu de d'abord chercher à minimiser la somme des zi (phase 1, pour voir si tu peux tous les ramener à zéro, ie, si tu as une solution de ton programme linéaire initial), puis ensuite résoudre ton programme initial en partant de cette solution (phase 2), tu fais les deux phases à la fois :
Tu minimises -Z + M*(somme des zi)
Ensuite, pour un M assez grand, la somme des zi sera nulle, donc tu auras une solution de ton programme linéaire initial.
Le M apparait juste dans ta fonction objectif, les contraintes sont celles de la première phase du simplexe à 2 phases