A non-transitory computer program product for installation encoded with a computer program which, when executed on a processing unit, causes and optimization of movement profiles in a system including at least one press with an upper tool for processing a workpiece and a plurality of transfer systems, a movement of a respective upper tool being respectively described by a press movement profile, and a movement of a respective transfer system being respectively described by a transfer movement profile, the computer program comprising:
- program code for presetting a respective transfer movement profile of the respective transfer system;
- program code for presetting synchronization points via the respective transfer movement profile of the respective transfer system, a first synchronization point defining an entry of a first transfer system into at least one press, a second synchronization point defining an exit of the first transfer system from the at least one press, a third synchronization point defining an entry of a second transfer system into the at least one press and a fourth synchronization point defining an exit of the second transfer system from the at least one press;
- program code for assigning respective instants of time to the synchronization points;
- program code for defining a first time range between the first synchronization point and the second synchronization point;
- program code for defining a second time range between the third synchronization point and the fourth synchronization point;
- program code for shortening the first and second time ranges successively to minimum times whilst maintaining boundary conditions such that the first and second time ranges overlap;
- and
- program code for creating respective optimized press movement profiles of the upper tool for processing the workpiece based on the minimum times.