Industri kereta api memainkan peran penting di banyak negara. Semua perusahaan kereta api berusaha untuk mencapai layanan kereta api yang lebih teratur dan dapat diandalkan, untuk memuaskan pelanggan mereka. Salah satu cara untuk mengoptimalkan layanan tersebut adalah dalam proses kontrol kereta itu sendiri. Oleh karena itu, pihak kereta api harus merencanakan jadwal secara terperinci untuk menentukan urutan dan waktu kereta api di setiap persimpangan dan stasiun. PT. Kereta Api (KAI) adalah perusahaan salah satu Badan Usaha Milik Negara (BUMN) Indonesia yang bergerak dibidang jasa transportasi. Jalur kereta api Bandung – Yogyakarta masih terdapat jalur ganda parsial. Jalur ganda parsial adalah jalur yang memilliki sebagian trek tunggal dan trek ganda. Terdapat 42% jalur tunggal dan 58% jalur ganda. Jalur ganda parsial harus memiliki persimpangan yang optimal, karena jika tidak akan mengakibatkan waiting time di setiap kereta api yang melalui jalur tersebut. Pada penelitian ini, penjadwalan kereta api menggunakan metode mixed integer programming. Dengan pendekatan penjadwalan job shop, kereta api akan menjadi job dan trek akan dianggap sebagai mesin. Setelah dilakukan penjadwalan usulan, keseluruhan job memiliki status tardiness on time.