ZEMAX Development Corporation publishes the ZEMAX Optical Design Program which can be used for both sequential and non-sequential ray tracing.