The OPROD computer code has been developed to generate a long-term control rod program, a series of control rod patterns that optimizes a cycle length within various operational constraints. In the algorithm, the optimization problem is decomposed into two hierarchies. In the inner loop, a time-invariant target power distribution is assumed, and a control rod pattern is determined so as to best fit the power distribution to the target within the constraints at each burnup step. The target is then improved in the outer loop to achieve a longer cycle length. The code consists of two major parts: a three-dimensional boiling water reactor (BWR) core simulator and MAP, the method of approximate programming. It readily generates a long-term control rod program of BWRs without trial search by core-management engineers. The OPROD has therefore facilitated prompt response to varying operating conditions and the investigation of a conflicting relationship between the thermal limitation and the cycle length.