We examine the first phase of a known NP-hard 2-stage assembly problem. It consists of sequencing a set of jobs having multiple components to be processed. Each job has to be worked on independently on a specific machine. We consider these jobs to form a vector of tasks. Our objective is to schedule jobs on the particular machines in order to minimize the completion time before the second stage starts. We first develop a new mathematical programming formulation of the problem and test it on a small problem instance using an integer programming solver. Then, we develop a heuristic algorithm based on Ant Colony Optimization and Variable Neighborhood Search metaheuristics in order to minimize the total completion time. The performance of our implementation appears to be effcient and effective.