A service reservation queuing system and method
By receiving user appointment requests and information, evaluating the adaptability between users and technicians, and using scheduling algorithms to find the global optimal queuing solution, the problem of long waiting time during peak periods of foot bath shops and low user matching is solved, and efficient matching between users and technicians and improving service efficiency is achieved.
Patent Information
- Application Number
- CN202410642247.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-23
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2044-05-23
AI Technical Summary
During peak hours, customers need to wait for a long time, and the user and technician match are low, which cannot meet the user's personalized needs.
By receiving user appointment requests and information, the user's adaptability to technicians is evaluated, and the scheduling algorithm is used to seek the global optimal queuing scheme to generate user's queuing call information, improving the matching degree and service efficiency between users and technicians.
It achieves efficient matching between users and technicians, reduces the queuing time for users, and improves user experience and service efficiency.
Smart Images

Figure CN118446342B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of reservation services, and more specifically, to a service reservation queuing system and method. Background Art
[0002] Foot bath shops are leisure places that provide foot massage and care. There are usually a variety of different foot bath services to choose from, such as Chinese foot bath, foot massage, foot therapy, etc. Customers usually need to make an appointment or wait in line to enjoy the service;
[0003] Since foot massage shops may experience peak customer traffic during specific time periods, even if customers make an appointment in advance, they still need to wait a long time to enjoy the service. In addition, the matching degree between customers and technicians is highly random, making it impossible for users to obtain technicians that match their needs. Users also have long waiting times and a poor user experience. Summary of the invention
[0004] The present invention provides a service reservation queuing system and method to solve the above-mentioned technical problems.
[0005] The present invention provides a service reservation queuing method, comprising the following steps:
[0006] Step 101, receiving a reservation request and reservation information sent by a user;
[0007] Step 102, evaluating the compatibility between the user and the technician according to the user's reservation information;
[0008] Step 103, using a scheduling algorithm to find a globally optimal queuing solution;
[0009] Step 104, generating user queue calling information according to the global optimal queueing solution;
[0010] Step 105, sending the queue calling information to the user.
[0011] In a preferred embodiment, the scheduling algorithm to seek the global optimal queuing solution includes:
[0012] Step 201, randomly generate all possible queuing solutions;
[0013] All possible queuing solutions need to satisfy the following four constraints:
[0014] 1. The suitability of the technician matched to the user is greater than the set suitability threshold;
[0015] 2. The same technician can only serve the same user at the same time;
[0016] 3. One user can only be matched with one technician;
[0017] 4. The technician’s idle time is less than the set idle time threshold;
[0018] Step 202, establishing an evaluation function of a queuing scheme;
[0019] The calculation formula of the evaluation function is:
[0020]
[0021] in, represents the evaluation function value of the j-th queuing scheme, represents the estimated Q value of the j-th queuing solution, represents the total queuing time of users in the j-th queuing scheme, , are the first and second preference coefficients, , , They are used to indicate the compatibility between users and technicians and the importance of user queuing time. The larger the value, the more emphasis is placed on improving the compatibility between the user and the technician who matches them. The larger the value, the more emphasis is placed on reducing queue time. represents the sigmoid function;
[0022] Step 203, setting the initial temperature , and randomly generate an initial queuing plan as the current solution;
[0023] Based on the evaluation function value of the initial solution, the initial temperature is set to a multiple of the evaluation function value of the initial solution;
[0024] The calculation formula for the initial temperature is:
[0025]
[0026] in, represents the initial temperature, represents the Boltzmann constant, represents the evaluation function value of the initial solution;
[0027] Step 204, at the current temperature, randomly select a neighbor solution of the current solution, that is, perturb the current queuing solution to generate a neighbor solution;
[0028] The perturbation methods include:
[0029] 1. Randomly select two users and exchange their technician assignments;
[0030] Second, randomly select a user and assign him / her to another randomly selected technician;
[0031] 3. For a randomly selected user, try to assign it to all possible technicians and choose the assignment that leads to the optimal value of the evaluation function;
[0032] Step 205, calculating the evaluation function value of the neighbor solution, if it is better than the current solution, accepting the neighbor solution as the new current solution; if the evaluation function value of the neighbor solution is greater than the current solution, accepting it as the new current solution with the first probability;
[0033] The calculation formula for the first probability is:
[0034]
[0035] in, represents the first probability, Represents the difference between the evaluation function value of the new current solution and the evaluation function value of the current solution, Indicates the current temperature. represents the Boltzmann constant;
[0036] Step 206, lowering the temperature, and repeating steps 204-206 until the temperature drops to a threshold or the quality of the current solution is no longer significantly improved;
[0037] Step 207: output the final current solution as the global optimal queuing solution.
[0038] In a preferred embodiment, the method for evaluating the compatibility between a user and a technician comprises the following steps:
[0039] Step 301: For the current user, encode the user's foot features, historical evaluation features, and body state features into a state vector ;
[0040] Step 302, using the trained recommendation model, calculate the technician's estimate The value is used as the fit between the user and the technician;
[0041] Step 303, use a deep neural network to approximate the Q function, the input of the deep neural network is the state vector and Action The simulation information of the state-action pair is output. value.
[0042] In a preferred embodiment, in step 302, the recommendation model includes:
[0043] 1. Encode the user's foot features, historical evaluation features, and body state features into a state vector ;
[0044] State Vector It is the combination of foot features, historical evaluation features, and body status features in order;
[0045] 2. Use all candidate technician numbers as action space ;
[0046] Every action Correspondingly, a technician is selected for service;
[0047] The size of the action space is equal to the number of candidate technicians;
[0048] 3. Establish reward function:
[0049] After each round of recommendation, an immediate reward is calculated based on user feedback and simulation results. ;
[0050] The reward function is calculated as:
[0051]
[0052] in, represents the immediate reward value, Indicates user satisfaction, represents the pressure balance index evaluated during the simulation, represents the massage coverage evaluated during the simulation, , , Represent the first, second, and third weight coefficients respectively.
[0053] In a preferred embodiment, the calculation formula of the pressure distribution balance index evaluated during the simulation process is:
[0054]
[0055]
[0056]
[0057] in, represents the pressure balance index evaluated during the simulation, Represents the arithmetic mean of the average pressure of all pressure areas on the foot model, represents the difference between the average pressure of all compressed areas and the arithmetic mean, b represents the penalty coefficient, and , n means that the foot model is divided into n pressure areas, represents the arithmetic mean of the average pressure of the i-th pressure area on the foot model, Represents the Sigmoid function.
[0058] In a preferred embodiment, the calculation formula of the massage coverage evaluated during the simulation process is:
[0059]
[0060] in, represents the massage coverage evaluated during the simulation, The value range is , when the value is closer to 1, it means that the massage coverage rate evaluated during the simulation process is higher, and when the value is closer to 0, it means that the massage coverage rate evaluated during the simulation process is lower. represents the total surface area of the foot model, Indicates the surface area of the foot that is massaged.
[0061] In a preferred embodiment, the action The simulation information is obtained through massage behavior simulation, and the massage behavior simulation obtaining method includes the following steps:
[0062] Step 1: Collect technician behavior data;
[0063] The massage data includes massage path data, action sequence data and force change data;
[0064] Step 2: Behavior pattern modeling: divide the preprocessed technician behavior data into massage segments, each of which contains massage trajectory, massage action and massage intensity sequence. Use time series clustering algorithm to cluster the massage segments and obtain the technician's behavior pattern;
[0065] Step 3: According to the technician's behavior pattern, adjust the position and density of the control points of the massage path to generate a path variant that meets the characteristics of the technician's behavior pattern;
[0066] Step 4: Based on the path variants of the technician's behavior pattern characteristics, physical simulation generates the technician's massage animation;
[0067] Step 5: Collect user feedback on the recommended technicians, including subjective satisfaction and comfort evaluation. Compare the user feedback on the recommended technicians with the simulation evaluation results, and update the behavior model based on the comparison results.
[0068] In a preferred embodiment, in step 102, the total queuing time of the user is calculated as follows:
[0069]
[0070] in, Indicates the total queuing time of the user. represents the time when the i-th user starts to receive the service, represents the time when the i-th user arrives at the foot bath shop, and n represents the number of users.
[0071] A service reservation queuing system includes the following modules:
[0072] The reservation information receiving module 100 is used to receive the reservation request and reservation information sent by the user;
[0073] A compatibility evaluation module 200 is used to evaluate the compatibility between the user and the technician according to the user's reservation information;
[0074] The scheduling algorithm optimization module 300 is used to seek the global optimal queuing solution according to the scheduling algorithm;
[0075] The queuing number information generating module 400 is used to generate the queuing number information of the user according to the global optimal queuing scheme;
[0076] The reservation information sending module 500 is used to send the queue calling number information to the user.
[0077] A storage medium stores non-transitory computer-readable instructions. When the non-transitory computer-readable instructions are executed by a computer, the steps in the service reservation queuing method as described above can be executed.
[0078] The beneficial effects of the present invention are:
[0079] The present invention uses deep learning models and simulation technology to achieve technician behavior pattern modeling, massage action sequence generation and force simulation, providing users with a more personalized service experience;
[0080] The present invention seeks the global optimal queuing scheme by utilizing the scheduling algorithm, maximizes the compatibility between users and technicians and minimizes the total queuing time of users, thereby improving the overall service efficiency;
[0081] The present invention improves the matching degree between users and technicians and enhances user satisfaction by encoding user features into state vectors and using a trained recommendation model to calculate the estimated value of technicians.
[0082] The present invention improves the intelligence level of the reservation queuing system by applying a deep neural network model and Q-network for model training, making the service more intelligent and efficient. BRIEF DESCRIPTION OF THE DRAWINGS
[0083] Figure 1 is a flow chart of the service reservation queuing method of the present invention;
[0084] Figure 2 It is a flow chart of the present invention using a scheduling algorithm to seek a global optimal queuing solution;
[0085] Figure 3 is a flow chart of a method for evaluating the compatibility between a user and a technician of the present invention;
[0086] Figure 4 It is a block diagram of the service reservation queuing system of the present invention.
[0087] In the figure: 100, reservation information receiving module; 200, adaptability evaluation module; 300, scheduling algorithm optimization module; 400, queue calling information generation module; 500, reservation information sending module. DETAILED DESCRIPTION
[0088] The subject matter described herein will now be discussed with reference to example embodiments. It should be understood that the discussion of these embodiments is only to enable those skilled in the art to better understand and implement the subject matter described herein, and the functions and arrangements of the elements discussed may be changed without departing from the scope of protection of the contents of this specification. Each example may omit, replace or add various processes or components as needed. In addition, the features described relative to some examples may also be combined in other examples.
[0089] like Figure 1 As shown, a service appointment queuing method comprises the following steps:
[0090] Step 101, receiving a reservation request and reservation information sent by a user;
[0091] Step 102, evaluating the compatibility between the user and the technician according to the user's reservation information;
[0092] Step 103, using a scheduling algorithm to seek a globally optimal queuing solution, the optimal goal is to maximize the degree of fit between the user and the technician matched with him and minimize the total queuing time of the user;
[0093] Step 104, generating user queue calling information according to the global optimal queueing solution;
[0094] Step 105, sending the queue calling information to the user.
[0095] It should be noted that the queue call information can be the appointment time or the queue number;
[0096] In one embodiment of the present invention, Figure 2 As shown, the scheduling algorithm to seek the global optimal queuing solution includes:
[0097] Step 201, randomly generate all possible queuing solutions;
[0098] All possible queuing solutions need to satisfy the following four constraints:
[0099] 1. The suitability of the technician matched to the user is greater than the set suitability threshold;
[0100] It should be noted that, considering the need to provide users with a service with a minimum degree of adaptability, if there is no possible queuing solution, the constraint condition can be deleted. If the adaptability is expressed in percentage, the adaptability threshold can be set to 30%.
[0101] 2. The same technician can only serve the same user at the same time;
[0102] 3. One user can only be matched with one technician;
[0103] 4. The technician's idle time is less than the set idle time threshold; for example, 30 minutes.
[0104] Step 202, establishing an evaluation function for the queuing scheme, taking into account two factors: the compatibility between the user and the technician and the technician's free time;
[0105] The calculation formula of the evaluation function is:
[0106]
[0107] in, represents the evaluation function value of the j-th queuing scheme, represents the estimated Q value of the j-th queuing solution, represents the total queuing time of users in the j-th queuing scheme, , are the first and second preference coefficients, , , It is used to indicate the compatibility between users and technicians and the importance of user waiting time. The larger the value, the more emphasis is placed on improving the compatibility between the user and the technician who matches them. The larger the value, the more emphasis is placed on reducing queue time. represents the sigmoid function;
[0108] Step 203, setting the initial temperature , and randomly generate an initial queuing plan as the current solution;
[0109] Based on the evaluation function value of the initial solution, the initial temperature is set to a multiple of the evaluation function value of the initial solution;
[0110] The calculation formula for the initial temperature is:
[0111]
[0112] in, represents the initial temperature, represents the Boltzmann constant, usually 1, 10, 100, etc. represents the evaluation function value of the initial solution;
[0113] Step 204, at the current temperature, randomly select a neighbor solution of the current solution, that is, perturb the current queuing solution to generate a neighbor solution;
[0114] The perturbation methods include:
[0115] 1. Randomly select two users and exchange their technician assignments;
[0116] 2. Randomly select a user and assign it to another randomly selected technician;
[0117] 3. For a randomly selected user, try to assign it to all possible technicians and choose the assignment that leads to the best value of the evaluation function;
[0118] Step 205, calculate the evaluation function value of the neighbor solution, if it is better than the current solution, accept the neighbor solution as the new current solution; if the evaluation function value of the neighbor solution is greater than the current solution, accept it as the new current solution with the first probability, the first probability is related to the temperature In relation to, the higher the temperature, the greater the first probability;
[0119] The calculation formula for the first probability is:
[0120]
[0121] in, represents the first probability, Represents the difference between the evaluation function value of the new current solution and the evaluation function value of the current solution, Indicates the current temperature. represents the Boltzmann constant, usually 1, 10, 100, etc.;
[0122] Step 206, lowering the temperature , repeat steps 204-206 until the temperature drops to a threshold or the quality of the solution is no longer significantly improved;
[0123] temperature Usually it decreases gradually according to certain rules, for example:
[0124]
[0125] in, represents the temperature after the i-th reduction, Indicates After the temperature is lowered, represents the temperature drop coefficient, and , is a constant, with values of 0.95, 0.9, etc.;
[0126] Step 207: output the final solution as the global optimal queuing solution.
[0127] In one embodiment of the present invention, Figure 3 As shown, the method for evaluating the compatibility between the user and the technician includes:
[0128] Step 301: For the current user, encode the user's foot features, historical evaluation features, body state features and other information into a state vector ;
[0129] Step 302, using the trained recommendation model, calculate the technician's estimate The value is used as the fit between the user and the technician;
[0130] Recommended models include:
[0131] 1. Encode the user's foot features, historical evaluation features, body state features and other information into a state vector ;
[0132] The dimension of the state vector depends on the number of features included and the encoding method;
[0133] For example, a convolutional neural network (CNN) can be used to extract features of a foot image as foot features;
[0134] CNN automatically extracts high-level features of foot images, such as foot shape, bones, muscle distribution, etc., through multi-layer convolution and pooling operations;
[0135] The historical evaluation feature is based on the text of the user's historical evaluation, obtained through text encoding;
[0136] The physical state feature is obtained through text encoding based on the user's physical state parameters;
[0137] Physical status parameters may be heart rate, blood pressure, age, etc.
[0138] State Vector It is the combination of foot features, historical evaluation features, and body status features in order;
[0139] 2. Use all candidate technician numbers as action space ;
[0140] Every action Correspondingly, a technician is selected for service;
[0141] The size of the action space is equal to the number of candidate technicians;
[0142] 3. Establish reward function:
[0143] After each round of recommendation, an immediate reward is calculated based on user feedback and simulation results. ;
[0144] The reward function can comprehensively consider factors such as user satisfaction, service effect, and technician workload;
[0145] The reward function is calculated as:
[0146]
[0147] in, represents the immediate reward value, Indicates user satisfaction, represents the pressure balance index evaluated during the simulation, represents the massage coverage evaluated during the simulation, , , Respectively represent the first, second, and third weight coefficients;
[0148] The weight coefficient determines the relative importance of user satisfaction, pressure balance index evaluated during the simulation, and massage coverage rate evaluated during the simulation in the total reward. The first, second, and third weight coefficients can be adjusted according to the needs of the foot spa. For example, if user satisfaction is considered the most important, a larger value can be assigned to user_rating.
[0149] In one embodiment of the present invention, user satisfaction is obtained through user evaluation, and user satisfaction can be represented by a value between 0 and 5, where 5 represents very satisfied and 0 represents very dissatisfied.
[0150] In one embodiment of the present invention, the calculation formula of the pressure distribution balance index evaluated during the simulation process is:
[0151]
[0152]
[0153]
[0154] in, represents the pressure balance index evaluated during the simulation, Represents the arithmetic mean of the average pressure of all pressure areas on the foot model, represents the difference between the average pressure of all pressure areas and the arithmetic mean, b represents the penalty coefficient, and , n means that the foot model is divided into n pressure areas, represents the arithmetic mean of the average pressure of the i-th pressure area on the foot model, Represents the Sigmoid function;
[0155] In one embodiment of the present invention, the calculation formula of the massage coverage evaluated during the simulation process is:
[0156]
[0157] in, represents the massage coverage evaluated during the simulation, The value range is , when the value is closer to 1, it means that the massage coverage rate evaluated during the simulation process is higher, and when the value is closer to 0, it means that the massage coverage rate evaluated during the simulation process is lower. represents the total surface area of the foot model, Indicates the surface area of the foot that is massaged;
[0158] The total surface area of the foot model can be obtained by the following method, for example, performing a three-dimensional scan on the foot to obtain the three-dimensional geometric data of the foot model, and using CAD software to calculate the total surface area of the foot model. The total surface area of the foot model is expressed as ;
[0159] The method for obtaining the massaged foot surface area may adopt the following method, for example, using a pressure measuring pad or a pressure sensor array to measure the contact pressure distribution of the foot during the massage process, setting a pressure threshold, and considering the area above the pressure threshold as the massaged area, collecting all the massaged areas on the foot model, and calculating the total area of all the massaged areas. The total area of all the massaged areas is expressed as .
[0160] Step 303, use a deep neural network (Q-network) to approximate the Q function, the input of the deep neural network is the state vector and Action The simulation information of the state-action pair is output. value;
[0161] The parameters of the deep neural network are trained using optimization algorithms such as gradient descent;
[0162] Target Network:
[0163] In addition to the main deep neural network (Q-network), a target network is also maintained;
[0164] The parameters of the target network are periodically copied from the main network to calculate the target Q value;
[0165] Using a target network can improve the stability of training and avoid oscillation of target values;
[0166] Experience Replay:
[0167] In the recommendation process, each round of Transfer data to a playback buffer middle;
[0168] in, represents the state vector, Indicates technicians recommended by users. Indicates the user's satisfaction with the recommended technicians, Represents the state vector after the user receives the service from the technician;
[0169] When training a deep neural network (Q-network), randomly select Extract a batch of transfer data as training samples;
[0170] Experience replay can break the correlation between data and improve the stability of training;
[0171] - Greedy Exploration:
[0172] When choosing an action, The probability of randomly selecting a technician is 1 minus The probability of choosing The technician with the highest value;
[0173] 1≥ ≥0, the initial value is 0.1.
[0174] It decays exponentially, for example, it decays to 0.9 times of the original value every 1000 steps.
[0175] As the training progresses, The value of gradually decays, causing exploration to gradually decrease and utilization to gradually increase;
[0176] The balance between exploration and exploitation can prevent the algorithm from falling into the local optimum too early;
[0177] The training process of the recommendation model includes:
[0178] Initialize the parameters of the main deep neural network (Q-network) and the target network and ;
[0179] Repeat the following steps until convergence or the maximum number of iterations is reached;
[0180] according to - Greedy strategy selects a technician and obtains immediate reward and next state;
[0181] Store the transferred data in the playback buffer middle;
[0182] from Randomly extract a batch of transfer data and calculate the target value:
[0183] If the next state is a terminal state, the goal Value is instant reward
[0184] Otherwise, the target The value is the immediate reward and the next state Value discount and The value is given by the target network;
[0185] By minimizing the prediction Values and Goals The mean square error of the value is used to update the parameters of the main deep neural network (Q-network). ;
[0186] Every certain number of steps, the parameters of the main network are Parameters copied to the target network .
[0187] In one embodiment of the present invention, the action The simulation information is obtained through massage behavior simulation, and the massage behavior simulation obtaining method includes the following steps:
[0188] Step 1: Collect technician behavior data;
[0189] During the actual service process, use video acquisition, motion capture, pressure sensors and other equipment to record the technician's massage data;
[0190] Massage data includes massage path data, action sequence data (such as kneading, pinching, pushing, etc.) and force change data;
[0191] Among them, the massage path data is obtained through the hand trajectory collected by motion capture; the action sequence data is obtained by judging whether it is a kneading, pushing or pinching action through the change amplitude and direction of the hand position, and the identified action type and duration are aligned with the timestamp to generate action sequence data; the force change data is collected by the pressure sensor.
[0192] Preprocessing the collected technician behavior data, including filtering, smoothing, normalization, etc., to improve data quality;
[0193] Step 2: Behavior pattern modeling:
[0194] The pre-processed technician behavior data is divided into massage segments, each of which contains a certain length of trajectory, action and force sequence;
[0195] Use time series clustering algorithms (such as DTW, K-means, etc.) to cluster massage clips and obtain the technicians' behavior patterns;
[0196] Each cluster center represents a technician's behavior pattern, including the average trajectory, action, and force sequence in the technician's behavior pattern;
[0197] The method for generating a user foot model comprises the following steps:
[0198] 1. Generate a 3D model of the user's foot using 3D reconstruction technology based on the foot image uploaded by the user;
[0199] 2. Segment and label the 3D model of the user's foot, identifying different areas such as the sole, instep, and toes;
[0200] 3. Import the 3D model of the user's foot into the physical simulation environment and set its material properties (such as hardness, elasticity, etc.);
[0201] 4. Based on the size and shape of the 3D model of the user's foot, a set of reference points are generated on its surface as control points for the massage path;
[0202] 5. Use algorithms such as B-spline curves and Bezier curves to generate a smooth and continuous massage path through the control points of the massage path.
[0203] Step 3: According to the technician's behavior pattern, adjust the position and density of the control points of the massage path to generate a path variant that meets the characteristics of the technician's behavior pattern;
[0204] The massage action sequence generation method comprises the following steps:
[0205] 1. Divide the massage path into multiple segments, each segment corresponds to one action;
[0206] 2. Randomly select the type of massage action for each segment based on the technician's behavior pattern;
[0207] Among them, the types of massage movements include: kneading, pinching and pushing;
[0208] 3. For each action, use predefined action templates (such as force curve, technique frequency, etc.) to generate action sequences;
[0209] Specifically, the action sequence is aligned with the massage path segments to form a complete massage action sequence;
[0210] The method of force simulation includes the following steps:
[0211] 1. Generate a force change curve for each action segment based on the technician's behavior pattern;
[0212] 2. Randomly generate the shape, peak value, and duration parameters of the curve according to the technician's behavior pattern characteristics;
[0213] 3. Synchronize the force change curve with the massage action sequence to control the pressure applied by the virtual hand on the foot in the simulation environment;
[0214] Step 4: Based on the path variants of the technician's behavior pattern characteristics, physical simulation generates the technician's massage animation;
[0215] The method of physical simulation includes the following steps:
[0216] 1. In a physical simulation environment, control the virtual hand to massage the user's foot model according to the massage path, action sequence and force curve;
[0217] 2. During the physical simulation process, physical interactions occur between the virtual hand and foot models;
[0218] Among them, physical interactions include contact, deformation, and force;
[0219] 3. Calculate the deformation, stress distribution, and force transmission of the foot model during the massage process by solving physical equations;
[0220] 4. Render the simulation results in real time and generate massage animation to show the reaction of the foot during the massage.
[0221] At the same time, the state data of each time step will be recorded during the simulation process for subsequent analysis;
[0222] The status data includes foot deformation data and pressure distribution data.
[0223] Step 5: User feedback and model update;
[0224] Collect user feedback on recommended technicians, including subjective satisfaction and comfort evaluation;
[0225] Compare the user's feedback on the recommended technicians with the simulation evaluation results to verify the accuracy and effectiveness of the simulation model;
[0226] Based on the feedback results, the technicians’ behavior patterns and simulation parameters are fine-tuned and optimized to improve the quality of subsequent recommendations.
[0227] In one embodiment of the present invention, during the physical simulation process, an image of the foot model is captured from a top-down perspective at regular time steps (e.g., every second);
[0228] The consecutive images are arranged in chronological order to form an image sequence representing the progress of the massage process;
[0229] The length of the image sequence is determined according to the duration of the massage and the sampling frequency, ensuring that the image sequence can cover the key stages and changes of the massage process, such as pressure application, foot deformation, etc.;
[0230] Preprocess each frame of the image sequence to extract relevant features and reduce the data size;
[0231] The preprocessing methods for each frame in the image sequence include scaling, cropping, normalization and enhancement;
[0232] In this embodiment, the image preprocessing method of cropping and normalization is adopted, and other appropriate image preprocessing methods can also be selected according to the characteristics and requirements of specific problems;
[0233] The preprocessed image will be used as the input data of Q-network.
[0234] In one embodiment of the present invention, Q-network adopts a convolutional neural network (CNN) combined with a recurrent neural network (RNN) architecture. The CNN part is responsible for extracting local and global features of each frame of the image, such as pressure distribution and foot deformation. The RNN part (such as LSTM or GRU) is responsible for processing the temporal information of the image sequence and capturing the dynamic changes of the massage process. At the end of the Q-network, a fully connected layer is added to output the estimated Q value of each technician. The target network architecture is the same as the Q-network.
[0235] In one embodiment of the present invention, the total queuing time of a user is calculated as follows:
[0236]
[0237] in, Indicates the total queuing time of the user. represents the time when the i-th user starts to receive the service, represents the time when the i-th user arrives at the foot bath shop, and n represents the number of users;
[0238] The time when the user arrives at the foot bath shop can be obtained through information collected by the foot bath shop's reservation system. For example, when the user uses the foot bath shop's reservation system to make an appointment, he needs to select a reservation time period. The start time of the reservation time period can be used as the time when the user arrives at the foot bath shop. The foot bath shop's reservation system can record the reservation time of each user, thereby obtaining the time data of all users arriving at the foot bath shop.
[0239] like Figure 4 As shown, a service reservation queuing system includes the following modules:
[0240] The reservation information receiving module 100 is used to receive the reservation request and reservation information sent by the user;
[0241] A compatibility evaluation module 200 is used to evaluate the compatibility between the user and the technician according to the user's reservation information;
[0242] The scheduling algorithm optimization module 300 is used to seek a globally optimal queuing solution according to the scheduling algorithm, wherein the optimal goal is to maximize the degree of fit between the user and the technician matched therewith and to minimize the total queuing time of the user;
[0243] The queuing number information generating module 400 is used to generate the queuing number information of the user according to the global optimal queuing scheme;
[0244] The reservation information sending module 500 is used to send the queue calling number information to the user.
[0245] A storage medium stores non-transitory computer-readable instructions. When the non-transitory computer-readable instructions are executed by a computer, the steps in the service reservation queuing method as described above can be executed.
[0246] The above describes an embodiment of the present embodiment, but the present embodiment is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present embodiment, ordinary technicians in this field can also make many forms, all of which are within the protection of the present embodiment.
Claims
1. A service appointment queuing method, characterized in that: The following steps are involved: Step 101, receiving a reservation request and reservation information sent by a user; Step 102, evaluating the compatibility between the user and the technician according to the user's reservation information; Step 301: For the current user, encode the user's foot features, historical evaluation features, and body state features into a state vector ; Step 302, using the trained recommendation model, calculate the technician's estimate The value is used as the fit between the user and the technician; 1. Encode the user's foot features, historical evaluation features, and body state features into a state vector ; State Vector It is the combination of foot features, historical evaluation features, and body status features in order; 2. Use all candidate technician numbers as action space ; Every action Correspondingly, a technician is selected for service; The size of the action space is equal to the number of candidate technicians; 3. Establish reward function: After each round of recommendation, an immediate reward is calculated based on user feedback and simulation results. ; The reward function is calculated as: ; in, represents the immediate reward value, Indicates user satisfaction, represents the pressure balance index evaluated during the simulation, represents the massage coverage evaluated during the simulation, , , Respectively represent the first, second, and third weight coefficients; ; ; ; in, represents the pressure balance index evaluated during the simulation, Represents the arithmetic mean of the average pressure of all pressure areas on the foot model, represents the difference between the average pressure of all pressure areas and the arithmetic mean, b represents the penalty coefficient, and , n means that the foot model is divided into n pressure areas, represents the arithmetic mean of the average pressure of the i-th pressure area on the foot model, Represents the Sigmoid function; ; in, represents the massage coverage evaluated during the simulation, The value range is , when the value is closer to 1, it means that the massage coverage rate evaluated during the simulation process is higher, and when the value is closer to 0, it means that the massage coverage rate evaluated during the simulation process is lower. represents the total surface area of the foot model, Indicates the surface area of the foot that is massaged; Step 303, use a deep neural network to approximate the Q function, the input of the deep neural network is the state vector and Action The simulation information of the state-action pair is output. value; Step 103, using a scheduling algorithm to find a globally optimal queuing solution; Step 104, generating user queue calling information according to the global optimal queueing solution; Step 105, sending the queue calling information to the user.
2. A service reservation queuing method according to claim 1, characterized in that: Scheduling algorithms to find the global optimal queuing solution include: Step 201, randomly generate all queuing schemes that meet the constraint conditions; Step 202, establishing an evaluation function of a queuing scheme; The calculation formula of the evaluation function is: ; in, represents the evaluation function value of the j-th queuing scheme, represents the estimated Q value of the j-th queuing solution, represents the total queuing time of users in the j-th queuing scheme, , are the first and second preference coefficients, , , They are used to indicate the compatibility between users and technicians and the importance of user queuing time. The larger the value, the more emphasis is placed on improving the compatibility between the user and the technician who matches them. The larger the value, the more emphasis is placed on reducing queue time. represents the sigmoid function; Step 203, setting the initial temperature and randomly generating an initial queuing scheme as the current solution; Based on the evaluation function value of the initial solution, the initial temperature is set to a multiple of the evaluation function value of the initial solution; The calculation formula for the initial temperature is: ; in, represents the initial temperature, represents the Boltzmann constant, represents the evaluation function value of the initial solution; Step 204, at the current temperature, randomly select a neighbor solution of the current solution, that is, perturb the current queuing solution to generate a neighbor solution; Step 205, calculating the evaluation function value of the neighbor solution, if it is better than the current solution, accepting the neighbor solution as the new current solution; if the evaluation function value of the neighbor solution is greater than the current solution, accepting it as the new current solution with the first probability; The calculation formula for the first probability is: ; in, represents the first probability, Represents the difference between the evaluation function value of the new current solution and the evaluation function value of the current solution, Indicates the current temperature. represents the Boltzmann constant; Step 206, lowering the temperature, and repeating steps 204-206 until the temperature drops to a threshold or the quality of the current solution is no longer significantly improved; Step 207: output the final current solution as the global optimal queuing solution.
3. A service reservation queuing method according to claim 1, characterized in that: action The simulation information is obtained through massage behavior simulation, and the massage behavior simulation obtaining method includes the following steps: Step 1: Collect technician behavior data; The massage data includes massage path data, action sequence data and force change data; Step 2: Behavior pattern modeling: divide the preprocessed technician behavior data into massage segments, each of which contains massage trajectory, massage action and massage intensity sequence. Use time series clustering algorithm to cluster the massage segments and obtain the technician's behavior pattern; Step 3: According to the technician's behavior pattern, adjust the position and density of the control points of the massage path to generate a path variant that meets the characteristics of the technician's behavior pattern; Step 4: Based on the path variants of the technician's behavior pattern characteristics, physical simulation generates the technician's massage animation; Step 5: Collect user feedback on the recommended technicians, including subjective satisfaction and comfort evaluation. Compare the user feedback on the recommended technicians with the simulation evaluation results, and update the behavior model based on the comparison results.
4. A service reservation queuing method according to claim 3, characterized in that: In step 102, the total queuing time of the user is calculated as: ; in, Indicates the total queuing time of the user. represents the time when the i-th user starts to receive the service, represents the time when the i-th user arrives at the foot bath shop, and n represents the number of users.
5. A service reservation queuing system, characterized in that: Includes the following modules: A reservation information receiving module (100), used for receiving a reservation request and reservation information sent by a user; A compatibility evaluation module (200), used to evaluate the compatibility between the user and the technician according to the user's reservation information; For the current user, the user's foot features, historical evaluation features, and body state features are encoded into a state vector ; Using the trained recommendation model, calculate the technician’s estimate The value is used as the fit between the user and the technician; 1. Encode the user's foot features, historical evaluation features, and body state features into a state vector ; State Vector It is the combination of foot features, historical evaluation features, and body status features in order; 2. Use all candidate technician numbers as action space ; Every action Correspondingly, a technician is selected for service; The size of the action space is equal to the number of candidate technicians; 3. Establish reward function: After each round of recommendation, an immediate reward is calculated based on user feedback and simulation results. ; The reward function is calculated as: ; in, represents the immediate reward value, Indicates user satisfaction, represents the pressure balance index evaluated during the simulation, represents the massage coverage evaluated during the simulation, , , Respectively represent the first, second, and third weight coefficients; ; ; ; in, represents the pressure balance index evaluated during the simulation, Represents the arithmetic mean of the average pressure of all pressure areas on the foot model, represents the difference between the average pressure of all pressure areas and the arithmetic mean, b represents the penalty coefficient, and , n means that the foot model is divided into n pressure areas, represents the arithmetic mean of the average pressure of the i-th pressure area on the foot model, Represents the Sigmoid function; ; in, represents the massage coverage evaluated during the simulation, The value range is , when the value is closer to 1, it means that the massage coverage rate evaluated during the simulation process is higher, and when the value is closer to 0, it means that the massage coverage rate evaluated during the simulation process is lower. represents the total surface area of the foot model, Indicates the surface area of the foot that is massaged; Use a deep neural network to approximate the Q function. The input of the deep neural network is the state vector and Action The simulation information of the state-action pair is output. value; a scheduling algorithm optimization module (300), used to seek a global optimal queuing solution according to the scheduling algorithm; A queuing number information generating module (400), used to generate queuing number information of users according to a globally optimal queuing scheme; The reservation information sending module (500) is used to send the queue calling number information to the user.
6. A storage medium storing non-transitory computer-readable instructions, characterized in that: When the non-transitory computer-readable instructions are executed by a computer, the steps in the service appointment queuing method as described in any one of claims 1 to 4 can be executed.
Citation Information
Patent Citations
Remote queuing method and remote queuing system for banking business handling
CN104992228A