In a job shop where machining time takes a comparable amount as material transportation time, it is no longer realistic to ignore the scheduling of material transportation systems such as automated guided vehicles (AGVs). Our algorithm discussed in this paper integrates AGV schedules into a heuristic-based scheduling algorithm to achieve the maximum amount of flexibility and optimization for a flexible manufacturing environment. Furthermore in order to allow our system to achieve different optimization goals such as shortest schedules or schedules that require the minimum computation time, our system architecture consists of individual modules of heuristics so that one or any combination of these modules can be used. We then discuss how we control the use of these heuristic modules to achieve the best results with some experimental data.