Why dont the Lagrange multipliers seem to work?
ZEMAX enforces a strictly decreasing merit function during optimization. In other words, ZEMAX should never return a system after optimization with a higher merit function than when it started. This means ZEMAX can not increase the merit function to enforce the Lagrange multipliers. It is best to have the Lagrange multipliers satisfied in the initial system before optimizing to maintain that criteria. As an alternative to Lagrange multipliers, use weighted operands instead. Weighted operands are usually faster and more numerically stable than Lagrange operands. A large weight will usually drive the operand to the desired value if it is free to move.