An optical design program has been developed. It contains four main sections: Section A: small analysis, which contains first and third order aberrations and a tracing of a few selected rays to give exact ray aberrations. Section B: semi automatic optimization routine, which enables the user to bring the aberrations computed in Section A to a target value. The user can choose between different optimization algorithms: least squares, damped least squares and Glatzel's adaptive correction method. All methods are guided by a newly defined steering function which takes the non-linearity problems into consideration. The QR-Matrix-Decomposition method is used to compute the solution of the problem. With this method the efficacy of the parameters or of the different aberrations can also be analysed. Linear dependences between parameters and between aberrations can be detected and eliminated so that the damping factor can be used to handle non-linearities. The same can be done by factorized solutions. Section C: analysis of optical systems, again including first and third order aberrations, ray aberrations and a geometrical modulation transfer function. Section D: service programs including individual lens analysis for mounting and manifacturing purposes, zoom systems analysis, addition and subtraction of a surface, lens scaling, data printing on cassette recorder, reading data from the recorder, refractive indices for "normal" glasses, ray height analysis, etc.