WO2020157913A1 - スケジューリング装置、スケジューリング方法、記録媒体 - Google Patents
スケジューリング装置、スケジューリング方法、記録媒体 Download PDFInfo
- Publication number
- WO2020157913A1 WO2020157913A1 PCT/JP2019/003378 JP2019003378W WO2020157913A1 WO 2020157913 A1 WO2020157913 A1 WO 2020157913A1 JP 2019003378 W JP2019003378 W JP 2019003378W WO 2020157913 A1 WO2020157913 A1 WO 2020157913A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- schedule
- scheduling
- target
- objective function
- schedule data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0264—Targeted advertisements based upon schedule
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- the present invention relates to a scheduling device, a scheduling method, and a recording medium.
- a lot of effort is devoted to scheduling schedule objects based on their characteristics. For example, the work of deciding the date and time when the advertisement is broadcast puts a lot of effort on the worker.
- Patent Document 1 discloses a technique for creating a program guide that defines a temporal arrangement of a plurality of contents to be distributed to a user according to the taste and situation of the user.
- a scheduling device calculates an objective function and a constraint condition used for generating the schedule data of the schedule target based on the determined schedule data regarding the schedule target and the characteristics of the schedule target.
- a learning unit a schedule target whose schedule has not been determined, a scheduling unit that uses the objective function, and the constraint condition to generate schedule data of the schedule target whose schedule has not been determined. To do.
- a scheduling method calculates an objective function and a constraint condition used for generating the schedule data of the schedule target based on the determined schedule data regarding the schedule target and the characteristics of the schedule target.
- the schedule data of the undetermined schedule is generated using the characteristics of the unscheduled schedule target, the objective function, and the constraint condition.
- the recording medium uses an objective function and constraint conditions for a computer to generate schedule data of the schedule target based on the determined schedule data regarding the schedule target and the characteristics of the schedule target. And a scheduling means for generating the schedule data of the undetermined schedule target by using the characteristics of the unscheduled schedule object, the objective function, and the constraint condition. Record the program characterized by.
- the present invention it is possible to provide a scheduling device, a scheduling method, and a recording medium that automatically generate schedule data similar to a worker who is skilled in scheduling work.
- FIG. 1 is a diagram showing an outline of a scheduling system including a scheduling device according to the embodiment.
- a scheduling system 100 is configured by communicatively connecting a scheduling device 1 and a terminal 2.
- the terminal 2 outputs the input information from the worker to the scheduling device 1.
- the scheduling device 1 automatically generates schedule data of a scheduling target similar to a worker who is skilled in scheduling work based on input information indicating an instruction of the worker.
- FIG. 2 is a diagram showing a hardware configuration of the scheduling device 1.
- the scheduling device 1 is a computer including hardware such as a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a database 104, and a communication module 105.
- the terminal 2 is also a computer equipped with similar hardware.
- FIG. 3 is a functional block diagram of the scheduling device.
- the CPU 101 of the scheduling device 1 is activated when the power is turned on and executes a scheduling program stored in advance. As a result, the scheduling device 1 exerts each function of the control unit 11, the learning unit 12, and the scheduling unit 13.
- the control unit 11 controls other functions of the scheduling device 1.
- the learning unit 12 calculates the objective function and the constraint condition used for generating the schedule data of the schedule target based on the determined schedule data regarding the schedule target and the characteristics of the schedule target.
- the scheduling unit 13 uses the features of the schedule target whose schedule has not been determined, the objective function, and the constraint conditions to generate schedule data of the schedule target whose schedule has not been determined.
- the schedule target is an advertisement broadcast
- the schedule data indicates the schedule of the program broadcast and the advertisement broadcast.
- the learning unit 12 may calculate the objective function for each advertisement broadcast.
- the learning unit 12 may calculate the objective function and the constraint condition for each group determined based on the characteristics of the advertisement broadcast.
- the scheduling unit 13 specifies a group based on the characteristics of the new advertisement broadcast, and uses the objective function and the constraint condition calculated for the group to generate schedule data of the advertisement broadcast whose schedule has not been determined.
- FIG. 4 is a diagram showing a processing flow of the scheduling device according to the first embodiment.
- the database 104 of the scheduling device 1 stores schedule data generated by a worker such as a skilled worker in the past.
- the learning unit 12 acquires instruction information for starting processing.
- the processing start instruction information may be input by the worker using the terminal 2 and received by the scheduling device 1 via the communication network. Alternatively, the worker may directly input the process start instruction information to the scheduling device 1 by using the input device provided in the scheduling device 1.
- the period schedule data Xe includes at least the advertisement schedule x (x 1 , x 2 , x 3 ,... X M ) for each advertisement broadcast.
- the learning unit 12 may sequentially acquire, one by one, the advertisement schedule x for each advertisement broadcast included in the period schedule data Xe generated in the past by the training worker.
- the period schedule data Xe ⁇ x 1 , x 2 , x 3 ,...
- the advertisement schedule x includes information about individual schedules of advertisement broadcasting and characteristic information about advertisement broadcasting.
- the period schedule data Xe may include program information including the date and time and characteristics of the program, in addition to the information on the advertisement schedule x.
- ⁇ is a unique parameter according to a worker such as a skilled worker, and is a unique parameter that determines the scheduling method of the worker such as a skilled worker.
- ⁇ represents the characteristic information of the advertisement schedule x and the constraint condition.
- the characteristic information includes, for example, information such as the target age group of the advertisement broadcast, sex, the day of the week to broadcast, the content type of the advertisement, the type of the program broadcast before and after the broadcast time of the advertisement broadcast, and the like. Be done.
- the constraint condition includes information such as a time zone in which the advertisement is broadcast, a type of program broadcast before or after performing the advertisement broadcast, and the like.
- Expression (1) means that a worker such as a skilled worker creates a schedule x of the advertisement broadcast that maximizes the value of ⁇ T ⁇ (x).
- ⁇ ) is set to a worker such as a skilled worker.
- Parameter For the likelihood p(Xe
- the learning unit 12 calculates ⁇ new in which the parameter ⁇ * is updated by using the steepest ascent method.
- the learning unit 12 can determine an arbitrary value for ⁇ with a step size. Further, when the learning unit 12 adopts the equation (3) as the equation representing the likelihood p, the parameter is updated as in the following equation (6).
- ⁇ (x i ) is a feature amount extracted from the advertisement schedule x of the advertisement broadcast to be processed in the period schedule data Xe generated in the past by a worker such as a skilled worker. Further, ⁇ (x i ) is a feature amount of the generated advertisement schedule x under the parameter ⁇ old .
- the learning unit 12 may sequentially separately acquire the advertisement schedule x for each advertisement broadcast included in the period schedule data Xe generated in the past by the training worker. The peculiar parameters of the worker such as are sequentially updated by the above processing. Then, the learning unit 12 generates an objective function including the parameter ⁇ new for the entire advertisement broadcast included in the period schedule data Xe generated in the past by a worker such as a skilled worker (step S102).
- a new worker uses the terminal 2 to schedule a new advertisement broadcast.
- the terminal 2 is communicatively connected to the scheduling device 1 by the operation of the worker. Further, the terminal 2 outputs a scheduling request including CM data relating to the advertisement broadcast to the scheduling device 1 by the operation of the worker.
- the CM data includes characteristic information regarding advertisement broadcasting and constraint conditions.
- the characteristic information includes information such as the target age group of the advertisement broadcast, the gender, the day of the week to broadcast, the content type of the advertisement, the type of the program broadcast before and after the broadcast time of the advertisement broadcast, and the like. included.
- the constraint condition may be a time period in which the program is broadcast, a type of program broadcast before or after performing the advertisement broadcast, and the like.
- the constraint condition may be stored in the scheduling device 1 in advance and the constraint condition may be used.
- the scheduling device 1 receives a scheduling request from the terminal 2 (step S103).
- the scheduling unit 13 of the scheduling device 1 acquires the CM data included in the received scheduling request.
- the scheduling unit 13 acquires the characteristic information of the advertisement broadcast and the constraint conditions from the CM data.
- the scheduling unit 13 acquires the objective function generated by the learning unit 12.
- the scheduling unit 13 uses the objective function (equation (7)) to include the characteristic information, the constraint condition, the period for scheduling the advertisement broadcast, the advertisement broadcast that has already been set in the period, and the date and time of the advertisement broadcast, and the entire schedule Input the data (schedule).
- the scheduling unit 13 calculates the optimum schedule of the advertisement broadcast corresponding to the CM data included in the scheduling request (step S104).
- the schedule includes at least information on the date and time of advertisement broadcasting.
- the scheduling unit 13 may accept the correction of the constraint condition and the characteristic information included in the CM data of the advertisement broadcast. For example, the scheduling unit 13 transmits the calculated schedule data to the terminal 2. The worker who uses the terminal 2 confirms the data of the schedule calculated for the advertisement broadcast, and determines whether the date and time is the time already filled with another advertisement broadcast. Then, the worker updates the parameters such as the characteristic information and the constraint conditions included in the CM data, and reissues the scheduling request. Then, the terminal 2 transmits the scheduling request with the updated parameters to the scheduling device 1. The scheduling unit 13 determines whether the parameters have been updated (step S105). At this time, the scheduling unit 13 again determines that the parameters have been updated based on the information included in the scheduling request. When the parameters are updated, the scheduling device 1 repeats the process of calculating the schedule in step S104 described above.
- the scheduling unit 13 may automatically determine whether the schedule data calculated for the advertisement broadcast is the time when it is already filled with another advertisement broadcast. In this case, the scheduling unit 13 updates the parameter ⁇ such as the characteristic information and the constraint condition included in the CM data by the prescribed update process, and repeats the schedule calculation process. Then, the scheduling unit 13 determines whether the schedule of the advertisement broadcast specified by the scheduling request has been calculated (step S106). If the schedule of the advertisement broadcast cannot be calculated even if the parameter ⁇ is updated a predetermined number of times, or if there is no available time for the advertisement broadcast in the free time in the entire schedule data, the scheduling unit 13 operates the operator. Based on this, if a termination request is received from the terminal 2, it is determined that the schedule cannot be calculated, and the processing is terminated.
- the scheduling unit 13 updates the parameter ⁇ such as the characteristic information and the constraint condition included in the CM data by the prescribed update process, and repeats the schedule calculation process. Then, the scheduling unit 13 determines whether the schedule of the advertisement broadcast specified by the scheduling request has
- the scheduling unit 13 determines whether to correct the schedule (step S107). For example, the scheduling unit 13 transmits to the terminal 2 inquiry information as to whether schedule modification is necessary.
- the information includes calculated schedule data.
- the terminal 2 outputs the schedule data to a monitor or the like.
- the operator confirms the data content of the schedule and determines whether or not to correct it.
- the worker inputs the correction information into the terminal 2.
- the operator who makes the correction is assumed to be a skilled worker or the like.
- the correction information includes date and time indicating a schedule whose schedule has not been decided. Then, the terminal 2 transmits the corrected schedule data to the scheduling device 1 based on the operation of the operator.
- the scheduling unit 13 acquires the corrected schedule data (step S108). When receiving the corrected schedule data, the scheduling unit 13 determines to update the objective function. As in the process of step S102, the scheduling unit 13 uses the corrected schedule data to generate an objective function including the parameter ⁇ new and updates the objective function (step S109).
- the scheduling unit 13 updates the entire period schedule data indicating the schedules of a plurality of advertisement broadcasts and programs, including the schedule data calculated in step S104 or the corrected schedule data acquired in step S107. (Step S110).
- the scheduling device 1 calculates the objective function used to generate the schedule data of the schedule target based on the determined schedule data regarding the schedule target and the characteristics of the schedule target. At this time, the scheduling device 1 uses the inverse optimization method based on the determined schedule data generated in the past to schedule the worker (skilled worker or the like) who has generated the determined schedule data. Compute an objective function that includes unique parameters. Then, the scheduling device 1 generates schedule data of the undetermined schedule target by using the features of the undetermined schedule object and the objective function. By such processing, the scheduling device 1 can provide a scheduling device that automatically generates schedule data similar to the worker (skilled worker or the like) who has generated the determined schedule data.
- FIG. 5 is a diagram showing a processing flow of the scheduling device according to the second embodiment.
- the database 104 of the scheduling device 1 stores schedule data generated by a worker such as a skilled worker in the past.
- the learning unit 12 acquires instruction information for starting processing.
- the processing start instruction information may be input by the worker using the terminal 2 and received by the scheduling device 1 via the communication network. Alternatively, the worker may directly input the instruction information to the scheduling device 1 by using the input device provided in the scheduling device 1.
- the period schedule data Xe includes at least the advertisement schedule x (x 1 , x 2 , x 3 ,... X M ) for each advertisement broadcast.
- the learning unit 12 may sequentially acquire, one by one, the advertisement schedule x for each advertisement broadcast included in the period schedule data Xe generated in the past by the training worker.
- the period schedule data Xe ⁇ x 1 , x 2 , x 3 ,...
- the advertisement schedule x includes information about individual schedules of advertisement broadcasting and characteristic information about advertisement broadcasting.
- the period schedule data Xe may include program information including the date and time and characteristics of the program, in addition to the information on the advertisement schedule x.
- the learning unit 12 classifies each advertisement schedule x included in the acquired period schedule data Xe into a plurality of groups (step S202). For example, the learning unit 12 performs clustering and classification based on the feature information of each advertisement schedule x using a method such as K-Means clustering.
- the learning unit 12 may classify into a plurality of groups based on past schedule data created by a worker such as a skilled worker. In this case, the learning unit 12 extracts a feature amount from the schedule data and classifies each advertisement schedule x into a plurality of groups based on the feature amount.
- the feature amount may be an audience rating acquired on each day of the week, an audience rating acquired on each time period, or the like.
- group allocation cannot be performed. Therefore, the worker may classify the advertisement schedule x into a plurality of groups.
- the learning unit 12 uses the feature information of each advertisement schedule x included in the group to perform the deoptimization process as in the first embodiment. I do. Then, the learning unit 12 generates an objective function including a parameter ⁇ new for a group including each advertisement schedule x generated in the past by a worker such as a skilled worker as in the first embodiment (step S203). ). The learning unit 12 determines whether the objective function has been calculated for all groups (step S204). The learning unit 12 repeats the process until the objective functions for all the groups are calculated.
- the learning unit 12 may perform the objective function calculation process immediately after performing the process of classifying each advertisement schedule x into a plurality of groups, or may perform each process at different timings. If the learning unit 12 performs the process of classifying each advertisement schedule x into a plurality of groups and then immediately performs the process of calculating the objective function, the learning unit 12 may perform the process using the same feature information. When the learning unit 12 performs the process of classifying each advertisement schedule x into a plurality of groups and the process of calculating the objective function at different timings, the learning unit 12 may perform the process using different feature information.
- a new worker uses the terminal 2 to schedule a new advertisement broadcast.
- the terminal 2 is communicatively connected to the scheduling device 1 by the operation of the worker. Further, the terminal 2 outputs a scheduling request including CM data relating to the advertisement broadcast to the scheduling device 1 by the operation of the worker.
- the CM data includes characteristic information regarding advertisement broadcasting and constraint conditions.
- the characteristic information includes information such as the target age group of the advertisement broadcast, the gender, the day of the week to broadcast, the content type of the advertisement, the type of the program broadcast before and after the broadcast time of the advertisement broadcast, etc. included.
- the constraint condition may be a time period in which the program is broadcast, a type of program broadcast before or after performing the advertisement broadcast, and the like.
- the constraint condition may be stored in the scheduling device 1 in advance and the constraint condition may be used.
- the scheduling device 1 receives a scheduling request from the terminal 2 (step S205).
- the scheduling unit 13 of the scheduling device 1 acquires the CM data included in the received scheduling request.
- the scheduling unit 13 acquires the characteristic information of the advertisement broadcast and the constraint conditions from the CM data.
- the scheduling unit 13 specifies the group based on the characteristic information and the constraint conditions acquired from the CM data (step S206).
- the scheduling unit 13 specifies a group including each advertisement schedule that is similar to the characteristic information and the constraint conditions acquired from the CM data and that is classified based on the characteristic information and the constraint conditions.
- the operator may specify the group using the terminal 2.
- the terminal 2 may transmit the group ID to the scheduling device 1 based on the operator's instruction, and the scheduling unit 13 may specify the group based on the group ID.
- the scheduling unit 13 acquires the objective function calculated by the learning unit 12 for the specified group (step S207).
- the scheduling unit 13 uses the objective function (equation (7)) to include the characteristic information, the constraint condition, the period for scheduling the advertisement broadcast, the advertisement broadcast that has already been set in the period, and the date and time of the advertisement broadcast, and the entire schedule Input the data (schedule).
- the scheduling unit 13 calculates the optimum schedule of the advertisement broadcast corresponding to the CM data included in the scheduling request (step S208).
- the schedule includes at least information on the date and time of advertisement broadcasting. After that, the scheduling unit 13 performs the same processing as steps S105 to S110 of the first embodiment.
- the scheduling device 1 uses the objective function peculiar to the group to which the advertisement broadcast for which the schedule has not been decided, and automatically generates with high accuracy the schedule data similar to the worker skilled in the scheduling work. Can be provided.
- the scheduling device 1 uses the same processing as that of the first embodiment or the second embodiment, It may also be a device that schedules employee shifts.
- the scheduling device 1 is used to generate the schedule data of the employee based on the determined schedule data regarding the shift schedule of the work in the store or factory of the employee and the characteristics of the employee who is the schedule target. Calculate the objective function.
- the scheduling device 1 uses a de-optimization method based on the determined schedule data generated in the past by a worker such as a skilled worker and is specific to the scheduling method of the worker such as a skilled worker. Calculate the objective function including the parameters.
- the scheduling device 1 may calculate the objective function for each group determined based on the characteristics of the employees.
- the scheduling device 1 generates the schedule data of the undecided employee by using the characteristics of the undecided employee and the objective function.
- the scheduling device 1 may specify a group based on the characteristics of the undecided employee and generate the schedule data of the undecided employee using the objective function calculated for the group.
- the objective function used for scheduling can be automatically designed by learning the objective function for each employee by inverse optimization using the processing of the present application as described above. Further, the weights for the constraint conditions that cannot be clearly described as described above can be learned from the characteristics of the employee. As a result, it becomes possible to perform scheduling according to the requirements of each employee. Further, by using the grouping of employees as a response to a new employee, the employees can be grouped according to their characteristics (desired time zone, etc.). For new employees, it is first determined which group they belong to, and scheduling is performed using the objective function associated with that group.
- the scheduling apparatus 1 further uses the same processing as that of the first embodiment or the second embodiment to allow the scheduling apparatus 1 to assign which work to which machine when assigning the plurality of jobs to the plurality of machines. You may make it generate
- the scheduling device 1 is used to generate the schedule data of the work based on the determined schedule data regarding the shift schedule in which a plurality of different jobs are assigned to the machine and the characteristics of the work to be scheduled. Calculate the function.
- the scheduling device 1 uses a de-optimization method based on the determined schedule data generated in the past by a worker such as a skilled worker and is specific to the scheduling method of the worker such as a skilled worker.
- the scheduling device 1 may calculate the objective function for each group determined based on the characteristics of the work. Then, the scheduling device 1 generates schedule data of the undecided work by using the characteristics of the undecided work and the objective function.
- the scheduling device 1 identifies a group based on characteristics of unscheduled jobs, and uses the objective function calculated for the group to generate schedule data of machines and times to which unscheduled jobs are assigned. Good. Accordingly, when a plurality of jobs are assigned to a plurality of machines, it is possible to generate a schedule that defines which work is assigned to which machine and in which order.
- FIG. 6 is a diagram showing the minimum configuration of the scheduling device.
- FIG. 7 is a diagram showing a processing flow of the scheduling device having the minimum configuration.
- the scheduling device exhibits at least the functions of the learning unit 12 and the scheduling unit 13.
- the learning unit 12 calculates the objective function used to generate the schedule data of the schedule target based on the determined schedule data regarding the schedule target and the characteristics of the schedule target (step S401).
- the scheduling unit 13 generates schedule data of a schedule target whose schedule has not been determined using the characteristics of the schedule target whose schedule has not been determined and the objective function (step S402).
- the above scheduling device 1 has a computer system inside.
- the process of each process described above is stored in a computer-readable recording medium in the form of a program, and the above process is performed by the computer reading and executing the program.
- the computer-readable recording medium refers to a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like.
- the computer program may be distributed to the computer via a communication line, and the computer that receives the distribution may execute the program.
- the above program may be for realizing some of the functions described above. Further, it may be a so-called difference file (difference program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system.
- difference file difference program
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する。スケジュール未決定のスケジュール対象の特徴と、目的関数とを用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する。
Description
本発明は、スケジューリング装置、スケジューリング方法、記録媒体に関する。
スケジュール対象をその特徴に基づいてスケジュールすることに多くの労力が割かれている。例えば広告放送を行う日時を決定する作業は、作業者に多くの労力をかけている。
関連する技術として、特許文献1には、ユーザの嗜好や状況に応じて、ユーザに配信する複数のコンテンツの時間的な配列を定める番組表を作成する技術が開示されている。
上述のようなスケジューリングの作業において、一般の作業者が、熟練した作業者に類似するスケジュールデータを自動生成することができる技術が望まれている。
本発明の一実施形態によるスケジューリング装置は、スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する学習部と、スケジュール未決定のスケジュール対象の特徴と、前記目的関数と、前記制約条件とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング部と、を備えることを特徴とする。
また本発明の一実施形態によるスケジューリング方法は、スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出し、スケジュール未決定のスケジュール対象の特徴と、前記目的関数と、前記制約条件とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成することを特徴とする。
また本発明の一実施形態による記録媒体は、コンピュータを、スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する学習手段、スケジュール未決定のスケジュール対象の特徴と、前記目的関数と、前記制約条件とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング手段、として機能させることを特徴とするプログラムを記録する。
本発明によれば、スケジューリングの作業に熟練した作業者に類似するスケジュールデータを自動生成するスケジューリング装置、スケジューリング方法、記録媒体を提供することができる。
以下、本発明の一実施形態によるスケジューリング装置を図面を参照して説明する。
図1は同実施形態によるスケジューリング装置を備えたスケジューリングシステムの概要を示す図である。
この図で示すようにスケジューリングシステム100は、スケジューリング装置1と端末2とが通信接続されて構成される。端末2は作業者からの入力情報をスケジューリング装置1へ出力する。スケジューリング装置1は、作業者の指示を示す入力情報に基づいて、スケジューリングの作業に熟練した作業者に類似するスケジューリング対象のスケジュールデータを自動生成する。
図1は同実施形態によるスケジューリング装置を備えたスケジューリングシステムの概要を示す図である。
この図で示すようにスケジューリングシステム100は、スケジューリング装置1と端末2とが通信接続されて構成される。端末2は作業者からの入力情報をスケジューリング装置1へ出力する。スケジューリング装置1は、作業者の指示を示す入力情報に基づいて、スケジューリングの作業に熟練した作業者に類似するスケジューリング対象のスケジュールデータを自動生成する。
図2はスケジューリング装置1のハードウェア構成を示す図である。
この図が示すようにスケジューリング装置1は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、データベース104、通信モジュール105等の各ハードウェアを備えたコンピュータである。端末2も同様のハードウェアを備えたコンピュータである。
この図が示すようにスケジューリング装置1は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、データベース104、通信モジュール105等の各ハードウェアを備えたコンピュータである。端末2も同様のハードウェアを備えたコンピュータである。
図3はスケジューリング装置の機能ブロック図である。
スケジューリング装置1のCPU101は電源が投入されると起動し、予め記憶するスケジューリングプログラムを実行する。これによりスケジューリング装置1は、制御部11、学習部12、スケジューリング部13、の各機能を発揮する。
スケジューリング装置1のCPU101は電源が投入されると起動し、予め記憶するスケジューリングプログラムを実行する。これによりスケジューリング装置1は、制御部11、学習部12、スケジューリング部13、の各機能を発揮する。
制御部11は、スケジューリング装置1の他の機能を制御する。
学習部12は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する。
スケジューリング部13は、スケジュール未決定のスケジュール対象の特徴と、目的関数と、制約条件と、を用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する。
学習部12は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する。
スケジューリング部13は、スケジュール未決定のスケジュール対象の特徴と、目的関数と、制約条件と、を用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する。
ここで本実施形態においては、スケジュール対象が広告放送であり、スケジュールデータが番組の放送と広告放送のスケジュールを示す。このような場合、学習部12は、広告放送ごとに、目的関数を算出してよい。また学習部12は、広告放送の特徴に基づいて決定されたグループ毎に、目的関数と制約条件とを算出してよい。またスケジューリング部13は、新た広告放送の特徴に基づいて、グループを特定し、当該グループについて算出された目的関数と制約条件とを用いて、スケジュール未決定の広告放送のスケジュールデータを生成する。
<第一の実施形態>
図4は第一の実施形態によるスケジューリング装置の処理フローを示す図である。
次に、第一の実施形態によるスケジューリング装置1の処理フローについて説明する。
スケジューリング装置1のデータベース104は、過去に熟練作業者等の作業者によって生成されたスケジュールデータを記憶する。学習部12は、処理開始の指示情報を取得する。当該処理開始の指示情報は、端末2を用いて作業者が入力し、通信ネットワークを介してスケジューリング装置1が受信してもよい。または作業者はスケジューリング装置1に備わる入力装置を用いて処理開始の指示情報を直接、スケジューリング装置1に入力してもよい。
図4は第一の実施形態によるスケジューリング装置の処理フローを示す図である。
次に、第一の実施形態によるスケジューリング装置1の処理フローについて説明する。
スケジューリング装置1のデータベース104は、過去に熟練作業者等の作業者によって生成されたスケジュールデータを記憶する。学習部12は、処理開始の指示情報を取得する。当該処理開始の指示情報は、端末2を用いて作業者が入力し、通信ネットワークを介してスケジューリング装置1が受信してもよい。または作業者はスケジューリング装置1に備わる入力装置を用いて処理開始の指示情報を直接、スケジューリング装置1に入力してもよい。
学習部12は、指示情報の取得に基づいて、熟練作業者等の作業者によって過去に生成された期間スケジュールデータXe={x1,x2,x3,…xM}をデータベース104から取得する(ステップS101)。期間スケジュールデータXeには、少なくとも広告放送ごとの広告スケジュールx(x1,x2,x3,…xM)が含まれる。学習部12は、練作業者によって過去に生成された期間スケジュールデータXeに含まれる広告放送ごとの広告スケジュールxを、1つずつ順に取得してもよい。熟練作業者等の作業者によって過去に生成された期間スケジュールデータXe={x1,x2,x3,…xM}は、所定の放送契約期間において割り当てられた各広告放送のスケジュールを含む。広告スケジュールxには、広告放送の個別のスケジュールの情報や広告放送の特徴情報が含まれる。期間スケジュールデータXeには、広告スケジュールxの情報の他、番組の日時や特徴を含む番組情報が含まれてもよい。
ここで、熟練作業者等の作業者によって過去に生成された期間スケジュールデータXeは、以下の数理最適化を説いた結果であると仮定する。
式(1)においてθは熟練作業者等の作業者に応じた固有パラメータあり、熟練作業者等の作業者のスケジューリング手法を決定づける特有のパラメータである。式(1)においてθの値のみ未知である。φは広告スケジュールxの特徴情報と制約条件とを表す。特徴情報には、一例としては、広告放送がターゲットとする年齢層、性別、放送する曜日、広告の内容種別、広告放送の放送時間に前後して放送される番組の種別、などの情報が含まれる。制約条件には、一例としては、必ず放送する時間帯、当該広告放送を行う前または後に放送される番組の種別などの情報が含まれる。式(1)は、θTφ(x)の値が最大になる広告放送のスケジュールxを熟練作業者等の作業者が作成していることを意味する。
学習部12は、熟練作業者等の作業者によって過去に生成された期間スケジュールデータXe={x1,x2,x3,…xM}を用いて逆最適化により熟練作業者等の作業者の固有パラメータθを推定する。より具体的には、学習部12は、最尤法に基づいて逆最適化を行う。
熟練作業者等の作業者によって過去に生成された期間スケジュールデータXeが与えられている状況において、尤度p(Xe|θ)を最大にするようなパラメータθ*を熟練作業者等の作業者のパラメータとする。尤度p(Xe|θ)は、例えば以下の式(3)を用いる。
熟練作業者等の作業者によって過去に生成された期間スケジュールデータXe={x1,x2,x3,…xM}が独立同分布から生成されていると仮定して対数を取ると、式(2)は以下の式(4)となる。
学習部12は、パラメータθ*をアップデートしたθnewを、最急上昇法を用いて算出する。
学習部12はαについてステップサイズで任意の値に決めることができる。また学習部12は、尤度pを表す式として式(3)を採用している場合、パラメータのアップデートは以下の式(6)のように行う。
上記式(6)においてφ(xi)は、熟練作業者等の作業者によって過去に生成された期間スケジュールデータXeのうち処理対象の広告放送の広告スケジュールxから抽出した特徴量である。またφ(xi)は、パラメータθoldの下での生成された広告スケジュールxの特徴量である。学習部12は、練作業者によって過去に生成された期間スケジュールデータXeに含まれる広告放送ごとの広告スケジュールxを順に別々に取得してもよく、この場合、その取得の度に、熟練作業者等の作業者の固有パラメータの更新を上記の処理により順次行う。そして学習部12は、熟練作業者等の作業者によって過去に生成された期間スケジュールデータXeに含まれる広告放送全体についての、パラメータθnewを含む目的関数を生成する(ステップS102)。
このような状態において、新たな作業者が、端末2を用いて新しい広告放送のスケジューリングを行う。このとき端末2は、作業者の操作により、スケジューリング装置1と通信接続する。また端末2は、作業者の操作により、スケジューリング装置1へ広告放送に関するCMデータを含むスケジューリング要求を出力する。CMデータには広告放送に関する特徴情報や制約条件が含まれる。上述したように、特徴情報には、広告放送がターゲットとする年齢層、性別、放送する曜日、広告の内容種別、広告放送の放送時間に前後して放送される番組の種別、などの情報が含まれる。制約条件は、必ず放送する時間帯、当該広告放送を行う前または後に放送される番組の種別などであってよい。制約条件は、予めスケジューリング装置1が記憶して、この制約条件が用いられてもよい。
スケジューリング装置1は、端末2からスケジューリング要求を受信する(ステップS103)。スケジューリング装置1のスケジューリング部13は、受信したスケジューリング要求に含まれるCMデータを取得する。スケジューリング部13は、CMデータから、当該広告放送の特徴情報や制約条件を取得する。スケジューリング部13は、学習部12の生成した目的関数を取得する。スケジューリング部13は、目的関数(式(7))に、特徴情報と制約条件と、当該広告放送をスケジュールする期間やその期間に既に設定されている広告放送や広告放送の日時を含むスケジュールの全体データ(schedule)を入力する。スケジューリング部13は、その結果、スケジューリング要求に含まれるCMデータに対応する広告放送の最適なスケジュールを算出する(ステップS104)。当該スケジュールは広告放送の日時の情報が少なくとも含まれる。
スケジューリング部13は、スケジュールが算出できない場合には、その広告放送のCMデータに含まれる制約条件や特徴情報の修正を受け付けてもよい。例えばスケジューリング部13は、算出したスケジュールのデータを端末2へ送信する。端末2を利用する作業者は、広告放送について算出されたスケジュールのデータを確認し、その日時が、既に他の広告放送によって埋まっている時間であるかを判定する。そして作業者は、CMデータに含まれる特徴情報や制約条件などのパラメータを更新し、スケジューリング要求の再要求を行う。すると、端末2はパラメータを更新したスケジューリング要求をスケジューリング装置1へ送信する。スケジューリング部13はパラメータの更新が行われたかを判定する(ステップS105)。この時、スケジューリング部13は、再度、スケジューリング要求に含まれる情報に基づいてパラメータの更新が行われたことを判定する。パラメータの更新が行われた場合、スケジューリング装置1は上述のステップS104のスケジュールの算出の処理を繰り返す。
スケジューリング部13は、広告放送について算出したスケジュールのデータが、既に他の広告放送によって埋まっている時間であるかを自動判定してもよい。この場合、スケジューリング部13は、CMデータに含まれる特徴情報や制約条件などのパラメータΦを、規定の更新処理により更新し、スケジュールの算出処理を繰り返す。そしてスケジューリング部13は、スケジューリング要求で特定される広告放送のスケジュールの算出ができたかを判定する(ステップS106)。スケジューリング部13は、所定回数のパラメータΦの更新が行われても広告放送のスケジュールが算出できない場合、全体のスケジュールデータにおける空き時間のうち広告放送を適用できる時間がない場合、作業者の操作に基づいて端末2から終了要求を受信した場合、などはスケジュールの算出ができないと判定し、終了する。
スケジューリング部13は、スケジューリング要求で特定される広告放送のスケジュールの算出ができたと判定した場合、スケジュール修正を行うかを判定する(ステップS107)。例えばスケジューリング部13は、端末2へスケジュール修正要否の問い合わせ情報を送信する。当該情報には、算出されたスケジュールのデータが含まれる。端末2はスケジュールのデータをモニタ等に出力する。作業者は、スケジュールのデータ内容を確認し、修正を行うか否かを判定する。作業者はスケジュールを修正する場合には、その修正情報を端末2に入力する。当該修正を行う作業者は熟練作業者等の作業者であるとする。修正情報は、スケジュール未決定のスケジュールを示す日時などである。そして作業者の操作に基づいて端末2は修正後のスケジュールデータをスケジューリング装置1へ送信する。
スケジューリング部13は、修正後のスケジュールデータを取得する(ステップS108)。スケジューリング部13は、修正後のスケジュールデータを受信した場合には、目的関数の更新を行うと判定する。スケジューリング部13は、ステップS102の処理と同様に、修正後のスケジュールのデータを用いて、パラメータθnewを含む目的関数を生成し、目的関数を更新する(ステップS109)。
そして、スケジューリング部13は、ステップS104で算出されたスケジュールのデータ、またはステップS107で取得した修正後のスケジュールのデータを含む、複数の広告放送や番組のスケジュールを示す全体の期間スケジュールデータを更新する(ステップS110)。
以上の処理により、スケジューリング装置1は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する。この時、スケジューリング装置1は、過去に生成された決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて、決定済みのスケジュールデータを生成した作業者(熟練作業者等)のスケジューリング手法特有のパラメータを含む目的関数を算出する。そして、スケジューリング装置1は、スケジュール未決定のスケジュール対象の特徴と、目的関数とを用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する。
このような処理により、スケジューリング装置1は、決定済みのスケジュールデータを生成した作業者(熟練作業者等)に類似するスケジュールデータを自動生成するスケジューリング装置を提供することができる。
このような処理により、スケジューリング装置1は、決定済みのスケジュールデータを生成した作業者(熟練作業者等)に類似するスケジュールデータを自動生成するスケジューリング装置を提供することができる。
<第二の実施形態>
図5は第二の実施形態によるスケジューリング装置の処理フローを示す図である。
次に、第二の実施形態によるスケジューリング装置の処理フローについて説明する。
スケジューリング装置1のデータベース104は、過去に熟練作業者等の作業者によって生成されたスケジュールデータを記憶する。学習部12は、処理開始の指示情報を取得する。当該処理開始の指示情報は、端末2を用いて作業者が入力し、通信ネットワークを介してスケジューリング装置1が受信してもよい。または作業者はスケジューリング装置1に備わる入力装置を用いて指示情報を直接、スケジューリング装置1に入力してもよい。
図5は第二の実施形態によるスケジューリング装置の処理フローを示す図である。
次に、第二の実施形態によるスケジューリング装置の処理フローについて説明する。
スケジューリング装置1のデータベース104は、過去に熟練作業者等の作業者によって生成されたスケジュールデータを記憶する。学習部12は、処理開始の指示情報を取得する。当該処理開始の指示情報は、端末2を用いて作業者が入力し、通信ネットワークを介してスケジューリング装置1が受信してもよい。または作業者はスケジューリング装置1に備わる入力装置を用いて指示情報を直接、スケジューリング装置1に入力してもよい。
学習部12は、指示情報の取得に基づいて、熟練作業者等の作業者によって過去に生成された期間スケジュールデータXe={x1,x2,x3,…xM}をデータベース104から取得する(ステップS201)。期間スケジュールデータXeには、少なくとも広告放送ごとの広告スケジュールx(x1,x2,x3,…xM)が含まれる。学習部12は、練作業者によって過去に生成された期間スケジュールデータXeに含まれる広告放送ごとの広告スケジュールxを、1つずつ順に取得してもよい。熟練作業者等の作業者によって過去に生成された期間スケジュールデータXe={x1,x2,x3,…xM}は、所定の放送契約期間において割り当てられた各広告放送のスケジュールを含む。広告スケジュールxには、広告放送の個別のスケジュールの情報や広告放送の特徴情報が含まれる。期間スケジュールデータXeには、広告スケジュールxの情報の他、番組の日時や特徴を含む番組情報が含まれてもよい。
学習部12は取得した期間スケジュールデータXeに含まれる各広告スケジュールxを複数のグループに分類する(ステップS202)。例えば学習部12は、各広告スケジュールxの特徴情報に基づいて、K-Meansクラスタリングの手法等を用いてクラスタリングして分類を行う。学習部12は、熟練作業者等の作業者が作成した過去のスケジュールデータを基に、複数のグループに分類してもよい。この場合、学習部12は、スケジュールデータから特徴量を抽出し, その特徴量を基にして、各広告スケジュールxを複数のグループに分類する。当該特徴量としては、各曜日に獲得した視聴率や、各時間帯に獲得した視聴率等などであってよい。なお、過去のスケジュールデータを基に分類を行う場合、新規の広告放送に対しては過去のスケジュールがないため、グループ割当を行うことが出来ない。このため広告スケジュールxそれぞれの複数のグループへの分類は作業者が行うようにしてもよい。
学習部12は、各広告スケジュールxを複数のグループに分類する処理が完了すると、グループに含まれる各広告スケジュールxの特徴情報を用いて、第一の実施形態と同様に、逆最適化の処理を行う。そして学習部12は、熟練作業者等の作業者によって過去に生成された各広告スケジュールxを含むグループについてのパラメータθnewを含む目的関数を、第一の実施形態と同様に生成する(ステップS203)。学習部12は、全てのグループについて目的関数を算出したかを判定する(ステップS204)。学習部12は、全てのグループについての目的関数を算出するまで処理を繰り返す。学習部12は、各広告スケジュールxを複数のグループに分類する処理を行った後に、直ちに目的関数の算出処理を行ってもよいし、異なるタイミングで各処理を行ってもよい。学習部12は、各広告スケジュールxを複数のグループに分類する処理を行った後に、直ちに目的関数の算出処理を行う場合には同じ特徴情報を用いてそれらの処理を行ってよい。学習部12は、各広告スケジュールxを複数のグループに分類する処理と、目的関数の算出処理とを異なるタイミングで行う場合には、異なる特徴情報を用いてそれらの処理を行ってよい。
このような状態において、新たな作業者が、端末2を用いて新しい広告放送のスケジューリングを行う。このとき端末2は、作業者の操作により、スケジューリング装置1と通信接続する。また端末2は、作業者の操作により、スケジューリング装置1へ広告放送に関するCMデータを含むスケジューリング要求を出力する。CMデータには広告放送に関する特徴情報や制約条件が含まれる。上述したように、特徴情報には、広告放送がターゲットとする年齢層、性別、放送する曜日、広告の内容種別、広告放送の放送時間に前後して放送される番組の種別、などの情報が含まれる。制約条件は、必ず放送する時間帯、当該広告放送を行う前または後に放送される番組の種別などであってよい。制約条件は、予めスケジューリング装置1が記憶して、この制約条件が用いられてもよい。
スケジューリング装置1は、端末2からスケジューリング要求を受信する(ステップS205)。スケジューリング装置1のスケジューリング部13は、受信したスケジューリング要求に含まれるCMデータを取得する。スケジューリング部13は、CMデータから、当該広告放送の特徴情報や制約条件を取得する。スケジューリング部13は、CMデータから取得した特徴情報や制約条件に基づいてグループを特定する(ステップS206)。例えばスケジューリング部13は、CMデータから取得した特徴情報や制約条件に類似する、特徴情報や制約条件に基づいて同一分類された各広告スケジュールを含むグループを特定する。当該グループの特定は、作業者が端末2を用いて行ってもよい。例えば、作業者の指示に基づいて端末2がグループIDをスケジューリング装置1に送信し、スケジューリング部13はそのグループIDに基づいて、グループを特定してもよい。
そしてスケジューリング部13は、特定したグループについて学習部12で算出された目的関数を取得する(ステップS207)。スケジューリング部13は、目的関数(式(7))に、特徴情報と制約条件と、当該広告放送をスケジュールする期間やその期間に既に設定されている広告放送や広告放送の日時を含むスケジュールの全体データ(schedule)を入力する。スケジューリング部13は、その結果、スケジューリング要求に含まれるCMデータに対応する広告放送の最適なスケジュールを算出する(ステップS208)。当該スケジュールは広告放送の日時の情報が少なくとも含まれる。以降、スケジューリング部13は、第一の実施形態の、ステップS105~ステップS110と同様の処理を行う。
このような処理により、スケジューリング装置1は、スケジュール未決定の広告放送の属するグループについて特有の目的関数を用いて、スケジューリングの作業に熟練した作業者に類似するスケジュールデータを精度良く自動生成するスケジューリング装置を提供することができる。
上述の処理によれば、広告放送のスケジューリングをする場合の例を用いて説明しているが、スケジューリング装置1は、上記第一の実施形態や第二の実施形態と同様の処理を用いて、従業員のシフトをスケジューリングする装置であってもよい。
例えば、スケジューリング装置1は、従業員の店舗や工場における作業のシフトスケジュールに関する決定済みのスケジュールデータと、スケジュール対象である従業員の特徴とに基づいて、当該従業員のスケジュールデータの生成に利用する目的関数を算出する。この時、スケジューリング装置1は、熟練作業者等の作業者によって過去に生成された決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて熟練作業者等の作業者のスケジューリング手法特有のパラメータを含む目的関数を算出する。この目的関数の算出において、スケジューリング装置1は、従業員の特徴に基づいて決定されたグループ毎に、目的関数を算出してよい。そして、スケジューリング装置1は、スケジュール未決定の従業員の特徴と、目的関数とを用いて、スケジュール未決定の従業員のスケジュールデータを生成する。スケジューリング装置1は、スケジュール未決定の従業員の特徴に基づいて、グループを特定し、当該グループについて算出された目的関数を用いて、スケジュール未決定の従業員のスケジュールデータを生成してよい。
テレフォンアポインター等の職場における従業員の人数は非常に多く、また個々人により出勤不可の条件が異なる。このため、全ての禁止事項を守りながら従業員のシフトを人手で設計することは、とても労力がかかる。またこのシフトの設計を、数理最適化を用いた関連する自動スケジューリングソフトウェアを用いて行う場合でも、その設計段階で「出勤不可では無いがなるべく避けたい日」や「出来たら特定の曜日に集中させてほしい」といった従業員ごとの細かい条件など、明確に定式化できないような条件が有る場合、人手による設計で表現しなければならない。このようなさぎょうもまたとても労力がかかる。従って関連する技術では、従業員の細かい条件を満たすスケジューリングを行うことは難しい。しかしながら、上述のような本願の処理を用いて、逆最適化による従業員ごとに目的関数を学習することで、スケジューリングの際に用いる目的関数を自動で設計できる。また上述のような明確に記載できない制約条件等への重みも従業員の特徴から学習することができる。これにより各従業員の要求に沿ったスケジューリングを行うことが可能となる。また新規の従業員への対応として従業員のグルーピングを用いることにより、従業員を特徴(希望時間帯等)によって仲間分けし、グルーピングすることができる。新規従業員に対しては、まずどのグループに属するのかを判定し、そのグループに紐付いた目的関数を用いてスケジューリングを行う。
スケジューリング装置1は、さらに、スケジューリング装置1は、上記第一の実施形態や第二の実施形態と同様の処理を用いて、複数の機械に、複数の仕事を割り当てる場合に、どの機械にどの仕事をどの順に割り当てるかを規定したスケジュールの生成を行うようにしてもよい。
この場合、スケジューリング装置1は、複数の異なる仕事を機械へ割り当てたシフトスケジュールに関する決定済みのスケジュールデータと、スケジュール対象である仕事の特徴とに基づいて、当該仕事のスケジュールデータの生成に利用する目的関数を算出する。この時、スケジューリング装置1は、熟練作業者等の作業者によって過去に生成された決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて熟練作業者等の作業者のスケジューリング手法特有のパラメータを含む目的関数を算出する。この目的関数の算出において、スケジューリング装置1は、仕事の特徴に基づいて決定されたグループ毎に、目的関数を算出してよい。そして、スケジューリング装置1は、スケジュール未決定の仕事の特徴と、目的関数とを用いて、スケジュール未決定の仕事のスケジュールデータを生成する。スケジューリング装置1は、スケジュール未決定の仕事の特徴に基づいて、グループを特定し、当該グループについて算出された目的関数を用いて、スケジュール未決定の仕事を割り当てる機械や時間のスケジュールデータを生成してよい。これにより、複数の機械に、複数の仕事を割り当てる場合に、どの機械にどの仕事をどの順に割り当てるかを規定したスケジュールの生成を行うことができる。
図6は、スケジューリング装置の最小構成を示す図である。
図7は、最小構成のスケジューリング装置の処理フローを示す図である。
図6で示すように、スケジューリング装置は、少なくとも、学習部12、スケジューリング部13の機能を発揮する。
学習部12は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する(ステップS401)。
スケジューリング部13は、スケジュール未決定のスケジュール対象の特徴と、目的関数とを用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する(ステップS402)。
図7は、最小構成のスケジューリング装置の処理フローを示す図である。
図6で示すように、スケジューリング装置は、少なくとも、学習部12、スケジューリング部13の機能を発揮する。
学習部12は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する(ステップS401)。
スケジューリング部13は、スケジュール未決定のスケジュール対象の特徴と、目的関数とを用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する(ステップS402)。
上述のスケジューリング装置1は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1・・・スケジューリング装置
2・・・端末
11・・・制御部
12・・・学習部
13・・・スケジューリング部
100・・・スケジューリングシステム
2・・・端末
11・・・制御部
12・・・学習部
13・・・スケジューリング部
100・・・スケジューリングシステム
Claims (8)
- スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する学習部と、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング部と、
を備えるスケジューリング装置。 - 前記学習部は、過去に生成された前記決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて、前記決定済みのスケジュールデータを生成した作業者のスケジューリング手法特有のパラメータを含む前記目的関数を算出する
請求項1に記載のスケジューリング装置。 - 前記学習部は、前記スケジュール対象ごとに、前記目的関数を算出する
請求項1または請求項2に記載のスケジューリング装置。 - 前記学習部は、前記スケジュール対象の特徴に基づいて前記スケジュール対象を複数のグループに決定し、そのグループ毎に、前記目的関数を算出する
請求項1または請求項2に記載のスケジューリング装置。 - 前記スケジューリング部は、前記スケジュール未決定のスケジュール対象の特徴に基づいて、前記グループを特定し、当該グループについて算出された前記目的関数を用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成する
請求項4に記載のスケジューリング装置。 - 前記スケジュール対象が広告放送であり、
前記スケジュールデータが前記スケジュール対象の放送のスケジュールであり、
前記スケジューリング部は、前記広告放送の前記スケジュールデータを生成する
請求項1から請求項5の何れか一項に記載のスケジューリング装置。 - スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出し、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成する
スケジューリング方法。 - コンピュータを、
スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する学習手段、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング手段、
として機能させるプログラムを記録する記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/426,264 US20220101380A1 (en) | 2019-01-31 | 2019-01-31 | Scheduling device, scheduling method and recording medium |
JP2020569276A JP7322899B2 (ja) | 2019-01-31 | 2019-01-31 | スケジューリング装置、スケジューリング方法、プログラム |
PCT/JP2019/003378 WO2020157913A1 (ja) | 2019-01-31 | 2019-01-31 | スケジューリング装置、スケジューリング方法、記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/003378 WO2020157913A1 (ja) | 2019-01-31 | 2019-01-31 | スケジューリング装置、スケジューリング方法、記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020157913A1 true WO2020157913A1 (ja) | 2020-08-06 |
Family
ID=71842009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/003378 WO2020157913A1 (ja) | 2019-01-31 | 2019-01-31 | スケジューリング装置、スケジューリング方法、記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220101380A1 (ja) |
JP (1) | JP7322899B2 (ja) |
WO (1) | WO2020157913A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024025793A1 (en) * | 2022-07-29 | 2024-02-01 | Monsanto Technology Llc | Methods and systems for use in processing seeds |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017094207A1 (ja) * | 2015-11-30 | 2017-06-08 | 日本電気株式会社 | 情報処理システム、情報処理方法および情報処理用プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180324082A1 (en) * | 2017-05-05 | 2018-11-08 | Fang Hao | Weight setting using inverse optimization |
-
2019
- 2019-01-31 US US17/426,264 patent/US20220101380A1/en not_active Abandoned
- 2019-01-31 WO PCT/JP2019/003378 patent/WO2020157913A1/ja active Application Filing
- 2019-01-31 JP JP2020569276A patent/JP7322899B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017094207A1 (ja) * | 2015-11-30 | 2017-06-08 | 日本電気株式会社 | 情報処理システム、情報処理方法および情報処理用プログラム |
Non-Patent Citations (2)
Title |
---|
NAKAZAWA, KIKUO: "Logistics: How Do You Use It? Mathematics for Industrial Engineering", DISTRIBUTION NETWORKING, vol. 3, no. 277, 10 May 2013 (2013-05-10), pages 49 - 52 * |
TANIGUCHI, YUKINOBU ET AL.: "Time-Table Optimization for Digital Signage", IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS ., vol. J94-D, no. 11, 1 November 2011 (2011-11-01), pages 1866 - 1875 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2020157913A1 (ja) | 2021-11-11 |
JP7322899B2 (ja) | 2023-08-08 |
US20220101380A1 (en) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115423541B (zh) | 广告自动排期投放方法、装置、设备及存储介质 | |
CN111598487B (zh) | 数据处理和模型训练方法、装置、电子设备和存储介质 | |
CN109471981B (zh) | 评论信息排序方法、装置、服务器及存储介质 | |
CN105321137A (zh) | 解读请求管理系统、解读请求管理设备及其控制方法 | |
CN114936779A (zh) | 任务分配方法及装置 | |
CN110807618A (zh) | 一种动态排班方法、装置和设备 | |
CN112965803A (zh) | Ai模型生成方法及电子设备 | |
WO2020157913A1 (ja) | スケジューリング装置、スケジューリング方法、記録媒体 | |
US20110208555A1 (en) | Production plan making program, device, and method | |
CN111582407B (zh) | 任务处理方法、装置、可读存储介质和电子设备 | |
CN111652471B (zh) | 名单分配控制方法、装置、电子设备及存储介质 | |
CN110991663B (zh) | 作业调度生成装置 | |
CN112884328B (zh) | 揽件业务员推荐方法、装置、设备及存储介质 | |
US20140006080A1 (en) | Information processing apparatus, information processing method, and non-transitory computer readable recording medium | |
CN111582408B (zh) | 数据处理方法、数据处理装置、存储介质和电子设备 | |
JP7256073B2 (ja) | Cm順位付け自動化システム、プログラム及び方法 | |
JP7334779B2 (ja) | スケジューリング装置、スケジューリング方法、プログラム | |
JP7334796B2 (ja) | 最適化装置、最適化方法、プログラム | |
CN114970906A (zh) | 预约线索分派方法、装置、计算机设备和存储介质 | |
CN113095704A (zh) | 一种生产计划排配方法、装置、设备及介质 | |
TWI663557B (zh) | 製造排程變異最小化系統 | |
CN110333953A (zh) | 数据存储资源调度方法及装置 | |
US11869034B2 (en) | Optimization device, optimization method, and recording medium | |
CN116957870B (zh) | 临床技能考核管理系统控制方法、装置、设备及介质 | |
CN115239216B (zh) | 生产资源的预防性计划保养方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19912837 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020569276 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19912837 Country of ref document: EP Kind code of ref document: A1 |