A method of controlling movement of multi-vehicle, the method comprising: acquiring a constraint condition under which multiple vehicles move and a calculation cycle for calculating movement routes of the vehicles; acquiring a position of each of all the vehicles; specifying a target position for each vehicle; calculating, based on the position of each of the vehicles, the target position, and the constraint condition, a movement route for prediction steps of each of the vehicles; determining, based on the movement routes of the vehicles, a driving condition of each of the vehicles from a current time to a unit time; and controlling movement of each of the vehicles, characterised in that: calculating the movement route includes performing optimization calculation based on an evaluation function J, evaluation of which becomes smaller as a deviation between each vehicle and the respective target position for each prediction step becomes smaller, and the constraint condition, an optimal control input u1(k)... uM(k) being calculated by solving the following constrained optimisation problem for each calculation cycle, and outputing the calculated optimal control input to each vehicle: min u 1,..., u M J u 1,..., u M s.t. c u 1,..., u M ≤ 0 where M is the number of vehicles, u1,..., uM the respective control input, J (u1,..., uM) the evaluation function and c (u1,..., uM) the constraint, and calculating the movement route includes setting number of prediction steps satisfying (the calculation cycle) × (moving speed of the vehicle) × (the number of prediction steps) > (distance between the vehicle and the target position). acquiring a constraint condition under which multiple vehicles move and a calculation cycle for calculating movement routes of the vehicles; acquiring a position of each of all the vehicles; specifying a target position for each vehicle; calculating, based on the position of each of the vehicles, the target position, and the constraint condition, a movement route for prediction steps of each of the vehicles; determining, based on the movement routes of the vehicles, a driving condition of each of the vehicles from a current time to a unit time; and controlling movement of each of the vehicles, characterised in that: calculating the movement route includes performing optimization calculation based on an evaluation function J, evaluation of which becomes smaller as a deviation between each vehicle and the respective target position for each prediction step becomes smaller, and the constraint condition, an optimal control input u1(k)... uM(k) being calculated by solving the following constrained optimisation problem for each calculation cycle, and outputing the calculated optimal control input to each vehicle: min u 1,..., u M J u 1,..., u M s.t. c u 1,..., u M ≤ 0 where M is the number of vehicles, u1,..., uM the respective control input, J (u1,..., uM) the evaluation function and c (u1,..., uM) the constraint, and calculating the movement route includes setting number of prediction steps satisfying (the calculation cycle) × (moving speed of the vehicle) × (the number of prediction steps) > (distance between the vehicle and the target position).