## 1 Introduction
In our previous research [25], MIP was also used to solve the task-scheduling problem of a dual-arm cooking robot; however, the algorithm was solved offline and we only considered cases where one arm performed one task at a time, which is not realistic since some tasks, such as cutting vegetables, need both arms while some others, such as waiting for water to boil, require none. Our issue can be described as the job-shop problem (JSP), where the goal is to complete \(n\) given jobs scheduled on \(m\) machines within a minimal duration of the schedule (the makespan). Some approaches to solving JSP have been proposed, including meta-heuristic (ant-colony optimization [26], artificial bee colony [27; 28], genetic algorithm [29; 30], particle swarm optimization [31; 32] and neighborhood search [33; 34]), heuristics [35], constraint programming [36; 37], and dynamic programming [38]. In the case of metaheuristic algorithms, the same solution is not always guaranteed even for relatively small problems, whereas MIPs are deterministic. Furthermore, some MIP models used to solve JSP could obtain a more efficient solution than state-of-the-art metaheuristic algorithms [39]. For these reasons, in this study, MIP is chosen for scheduling the cooking tasks. Attempts have also been made to solve JSP using MIP [40; 41], but they did not consider the kinematic constraints of the robot and the tasks that need multiple machines or none at all. In this paper, we use an optimization framework using MIP to solve the job-shop scheduling problem for cooking multiple dishes using a dual-arm robot. We model the cooking problem using a dual-arm robot as the job-shop problem and divide the input of MIP for applying the subproblem strategy. As the subproblem optimization strategy is used, the total completion time, including computation time and makespan(the length of time that elapses from the start of work to the end), is reduced in the overall problem. Our goal is to find a feasible plan that minimizes the makespan while considering the constraints of task dependency, dual-arm collaboration constraints, and kinematic constraints of the cooking robot. We separate the planning task into two steps: finding the task sequence and the assignment of the robot arm. We also propose a strategy that can reduce the planning time by separating the number of tasks to be planned into segments. A set of tasks was evenly divided considering the continuity of tasks. The strategy makes it possible to update the cooking plans on-the-fly, even when the original cooking plan is altered because of situations such as new dishes being added to the schedule because of new orders, canceled dishes, as well as disruptions caused by undesired situations such as failure in the middle of the cooking process. To verify our approach, an experiment was conducted using a set of 32 tasks and 3 dishes on a dual-arm robot. As the kinematic constraints and prior information about the tasks to be scheduled are known, an optimal cooking plan for the dishes and operating sequences of the robot can be automatically generated. Moreover, an analysis of various problem sizes also confirms the effectiveness of the subproblem optimization, as the planning time was significantly reduced compared with when planning all tasks at the same time. Finally, to verify that online planning is efficiently implementable, experiments were conducted by changing the situation in the middle of planning. This work is organized as follows. We define the terms for setting up the optimization problem and explain how we considered the kinematic constraints in Section 2. The two-step framework is then discussed in Section 3, with a discussion of the subproblem optimization strategy. Section 4 validates the proposed frameworks, and Section 5 concludes the paper while introducing some future work.