The operation of automated tape heads used to layup a composite structure is optimized in order to reduce layup time and better balance tape head loading. Ply data is generated that defines the ply segments and tape courses for each sequence of the layup. Each sequence is partitioned into groups of either ply segments or tape courses for the sequence. Multiple possible tape head assignments are generated in which the individual tape heads are assigned to the groups A final set of tape head assignments are selected based on the assignments that minimize the time required to complete the layup.