WO2024175596A1 - Systems and method for updating an item of data representative of the weight of a product in a computer database - Google Patents
Systems and method for updating an item of data representative of the weight of a product in a computer database Download PDFInfo
- Publication number
- WO2024175596A1 WO2024175596A1 PCT/EP2024/054291 EP2024054291W WO2024175596A1 WO 2024175596 A1 WO2024175596 A1 WO 2024175596A1 EP 2024054291 W EP2024054291 W EP 2024054291W WO 2024175596 A1 WO2024175596 A1 WO 2024175596A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- product
- weight
- value
- captured
- validity
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000015654 memory Effects 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 11
- 238000002360 preparation method Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- 239000006185 dispersion Substances 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 23
- 238000003860 storage Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101100234408 Danio rerio kif7 gene Proteins 0.000 description 2
- 101100221620 Drosophila melanogaster cos gene Proteins 0.000 description 2
- 101100398237 Xenopus tropicalis kif11 gene Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000003449 preventive effect Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001594 aberrant effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000491 multivariate analysis Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- 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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
Definitions
- the present invention relates to systems for updating data representative of the weight of a product in a computer database and a method for updating data representative of the weight of a product in a computer database. It applies, in particular, to the field of warehouse management and logistics.
- a weight value is associated with any product so as to ensure compliance control between an order and a set containing at least one product, or item, to be shipped.
- This compliance is achieved, simply, by calculating the arithmetic sum of the weights measured by an operator of the products of an order being processed and by comparing them with the arithmetic sum of the theoretical weights of the products. This assumes that the association between product and theoretical weight of the products is correctly set. However, for several reasons, this association is often erroneous.
- FIG. 1 represents, schematically, a particular embodiment of the system which is the subject of the invention
- Figure 2 schematically represents a particular embodiment of a computer system that is the subject of the invention
- Figure 3 represents, and in the form of a flowchart, a particular succession of steps of the method that is the subject of the invention
- Figure 4 schematically represents a set of weight values captured from a product and implemented by a system or method that is the subject of the invention
- Figure 5 represents, in the form of a flowchart, a particular succession of steps that is complementary or subsidiary to that of the method that is the subject of the invention.
- the present invention aims to remedy all or part of these drawbacks.
- All of the embodiments disclosed and claimed herein are directed to computer-implemented methods that interact with digital data to provide a practical application of computer technology to the problem of unreliability in identifying the nature of a batch or product by the weight of said batch or product, considering fluctuations in weight related to actions of the manufacturers of such batches or products.
- the disclosure is not intended to encompass techniques of organizing human activity, performing mental processes, or executing a mathematical concept, and any interpretation of the claims to encompass such techniques would be unreasonable based on the disclosure as a whole.
- the invention relates to a system according to claim 1. Thanks to these provisions, the reference weight of the products, articles or batches changes according to the modifications of this weight by the manufacturers, these modifications not being transmitted reliably to the storage and distribution warehouses using the weight of the products as a control measure in the execution of order processing.
- the implementation of validity intervals for weight captures makes it possible to guarantee the adaptive nature of the system, by favoring recent captures at the expense of older captures.
- the system which is the subject of the invention comprises a software module for automatic classification of products in the database, associating with at least one product identifier a product class, at least one value among:
- the system object of the invention comprises a machine learning module configured to associate a product class with at least one product identifier.
- the learning module is an automatic learning classification module configured to associate a product class with at least one product identifier based on:
- the statistical parameter is formed from the sum of:
- the invention relates to a method for updating data representative of the weight of a product in a computer database, which comprises:
- a timestamp step to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier
- This method has the same advantages as the system which is the subject of the first aspect of the invention.
- the invention aims at a system for updating data representative of the weight of a product in a computer database, which comprises:
- At least one computing system comprising at least one processor and at least one memory
- a timestamp step to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier
- This system has the same advantages as the system which is the subject of the first aspect of the invention.
- inventive concepts may be implemented by one or more methods or devices described hereinafter, several examples of which are provided herein.
- the actions or steps performed in carrying out the method or device may be ordered in any appropriate manner. Accordingly, it is possible to construct embodiments in which the actions or steps are performed in a different order than that illustrated, which may include performing certain acts simultaneously, even if they are presented as sequential acts in the illustrated embodiments.
- a reference to "A and/or B", when used in conjunction with open language such as “comprising” may refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to A and B (possibly including other elements); etc.
- the expression "at least one”, in reference to a list of one or more elements, is to be understood to mean at least one element selected from one or more elements in the list of elements, but not necessarily including at least one of each element specifically enumerated in the list of elements and not excluding any combination of elements in the list of elements.
- This definition also allows for the optional presence of elements other than the elements specifically identified in the list of elements to which the expression “at least one” refers, whether or not related to those specifically identified elements.
- “at least one of A and B” may refer, in one embodiment, to at least one, optionally including more than one, A, without B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, without A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
- FIG. 2 is a block diagram illustrating an exemplary computer system with which an embodiment may be implemented.
- a computer system 205 and instructions for implementing the disclosed technologies in the hardware, software, or combination of hardware and software are schematically depicted, such as as boxes and circles, at the same level of detail that is commonly used by those of ordinary skill in the art to which this disclosure pertains to communicate computer architecture and computer system implementations.
- the computer system 205 includes an input/output (I/O) subsystem 220 that may include a bus and/or one or more other communication mechanisms for communicating information and/or instructions between components of the computer system 205 over electronic signal paths.
- the input/output subsystem 220 may include an input/output controller, a memory controller, and at least one input/output port.
- the electronic signal paths are shown schematically in the drawings, for example, as lines, one-way arrows, or two-way arrows.
- the memory 225 may also be used to store temporary variables or other intermediate information during execution of the instructions to be executed by the processor 210. Such instructions, when stored in a non-transitory computer-readable storage medium accessible to the processor 210, may transform the computer system 205 into a special purpose machine that is customized to perform the operations specified in the instructions.
- the computer system 205 further includes non-volatile memory such as a read only memory (ROM) 230 or other static storage device coupled to the I/O subsystem 220 for storing information and instructions for the processor 210.
- the ROM 230 may include various forms of programmable ROM (PROM) such as erasable PROM (EPROM) or electrically erasable PROM (EEPROM).
- a persistent storage unit 215 may include various forms of non-volatile random access memory (NVRAM), such as FLASH memory, or solid state storage, a magnetic disk, or an optical disk such as a CD-ROM or DVD-ROM and may be coupled to the I/O subsystem 220 for storing information and instructions.
- NVRAM non-volatile random access memory
- Memory 215 is an example of a non-transitory computer-readable medium that can be used to store instructions and data that, when executed by processor 210, cause execution of computer-implemented methods for performing the techniques of this document.
- the instructions in memory 225, ROM 230, or storage 215 may comprise one or more sets of instructions that are organized into modules, methods, objects, functions, routines, or calls.
- the instructions may be organized as one or more computer programs, operating system services, or application programs, including mobile applications.
- the instructions may comprise an operating system and/or system software; one or more libraries to support multimedia, programming, or other functions; data protocol instructions or stacks to implement TCP/IP, HTTP, or other communication protocols; file format processing instructions to parse or render files encoded using HTML, XML, JPEG, MPEG, or PNG; user interface instructions to render or interpret commands for a graphical user interface (GUI), command line interface, or text-based user interface; application software such as an office suite, Internet access applications, design and manufacturing applications, graphics applications, audio applications, software engineering applications, educational applications, games, or miscellaneous applications.
- the instructions may implement a web server, a web application server, or a web client.
- the instructions may be organized as a presentation layer, an application layer, and a data storage layer such as a relational database system using Structured Query Language (SQL) or no SQL, an object store, a graph database, a flat file system, or other data storage.
- SQL Structured Query Language
- object store e.g., a graph database
- flat file system e.g., a flat file system
- the computer system 205 may be coupled via the I/O subsystem 220 to at least one output device 235.
- the output device 235 is a digital computer display.
- Exemplary displays that may be used in various embodiments include a touch screen or a light emitting diode (LED) display or a liquid crystal display (LCD) or an e-paper display.
- the computer system 205 may include one or more other types of output devices 235, either in place of or in addition to a display device.
- Exemplary other output devices 235 include printers, ticket printers, plotters, projectors, sound cards or video cards, speakers, buzzers or piezoelectric or other audible devices, LED or LCD lights or indicators, haptic devices, actuators, or servos.
- At least one input device 240 is coupled to the I/O subsystem 220 for communicating signals, data, command selections, or gestures to the processor 210.
- Examples of input devices 240 include touch screens, microphones, digital still and video cameras, alphanumeric and other keys, keyboards, graphics tablets, image scanners, joysticks, clocks, switches, buttons, dials, sliders.
- the input device is a control device 245, which may perform cursor control or other automated control functions such as navigating a graphical interface on a display screen, alternatively or in addition to input functions.
- the control device 245 may be a touchpad, mouse, trackball, or cursor direction keys to communicate direction information and control selections to the processor 210 and to control movement of the cursor on the display 235.
- the input device may have at least two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify positions in a plane.
- An input device is a wired, wireless, or optical control device, such as such as a joystick, wand, console, steering wheel, pedal, gear shift mechanism, or other type of control device.
- An input device 240 may include a combination of several different input devices, such as a video camera and a depth sensor.
- the computer system 205 may include an Internet of Things (IoT) device in which one or more of the output device 235, the input device 240, and the control device 245 are omitted.
- IoT Internet of Things
- the input device 240 may include one or more cameras, motion detectors, thermometers, microphones, seismic detectors, other sensors or detectors, measuring devices, or encoders
- the output device 235 may include a special purpose display such as a single-line LED or LCD display, one or more indicators, a display panel, a meter, a valve, a solenoid, an actuator, or a servo motor.
- the output device 235 may include hardware, software, firmware, and interfaces to generate position report packets, notifications, pulse or heartbeat signals, or other recurring data transmissions that specify a position of the computer system 205, alone or in combination with other application-specific data, directed to the host 250 or server 255.
- the computer system 205 may implement the techniques described herein using custom hardwired logic, at least one ASIC (Application-specific integrated circuit) or FPGA (Field-programmable gate array), firmware, and/or program instructions or logic that, when loaded and used or executed in combination with the computer system, cause or program the computer system to operate as a special purpose machine.
- the techniques described herein are performed by the computer system 205 in response to the processor 210 executing at least one sequence of at least one instruction contained in the main memory 225. These instructions may be read into the main memory 225 from another storage medium, such as the memory 215. Execution of the sequences of instructions contained in the main memory 225 causes the processor 210 to perform the process steps described herein.
- hardwired circuits may be used in place of or in combination with software instructions.
- Non-volatile media include, for example, optical or magnetic disks, such as memory 215.
- Volatile media include dynamic memory, such as memory 225.
- Common forms of storage media include, for example, a hard disk, a solid-state drive, a flash drive, a magnetic data storage medium, any optical or physical data storage medium, a memory chip, etc.
- Storage media are distinct from, but may be used in conjunction with, transmission media.
- Transmission media assist in the transfer of information between storage media.
- transmission media include coaxial cables, copper wires, and optical fibers, including the wires that make up a bus of the I/O subsystem 220.
- Transmission media may also take the form of acoustic or light waves, such as those generated during radio and infrared data communications.
- the instructions may initially be transported on a magnetic disk or solid state drive of a remote computer.
- the remote computer may load the instructions into its dynamic memory and send the instructions over a communications link such as a fiber optic or coaxial cable or a telephone line using a modem.
- a modem or router local to the computer system 205 may receive the data over the communications link and convert the data into a format that can be read by the computer system 205.
- a receiver such as a radio frequency antenna or an infrared detector may receive the data transported in a wireless or optical signal and suitable circuitry may provide the data to the I/O subsystem 220, for example by placing the data on a bus.
- the I/O subsystem 220 transports data to memory 225, from which the processor 210 retrieves and executes instructions. Instructions received by memory 225 may optionally be stored on memory 215 before or after execution by processor 210.
- the computer system 205 also includes a communications interface 260 coupled to a bus 220.
- the communications interface 260 provides bidirectional data communications coupling to the one or more network links 265 that are directly or indirectly connected to at least one communications network, such as a network 270 or a public or private cloud on the Internet.
- the communications interface 260 may be an "Ethernet”® network interface, an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem to provide a data communication connection to a corresponding type of communication line, for example an "Ethernet”® cable or a metallic cable of any type or a fiber optic line or a telephone line.
- ISDN Integrated Services Digital Network
- the network 270 broadly represents a local area network (LAN), a wide area network (WAN), a campus network, an Internet network, or any combination thereof.
- the communication interface 260 may include a LAN card to provide a data communication connection to a compatible LAN, or a cellular radiotelephone interface that is wired to send or receive cellular data according to cellular radiotelephone wireless network standards, or a satellite radio interface that is wired to send or receive digital data according to satellite wireless network standards.
- the communications interface 260 sends and receives electrical, electromagnetic, or optical signals over signal paths that carry digital data streams representing various types of information.
- the network link 265 typically provides electrical, electromagnetic, or optical data communication directly or via at least one network to other data devices, using, for example, satellite, cellular, "Wi-Fi”®, or "BLUETOOTH”® technology.
- the network link 265 may provide a connection through a network 270 to a host computer 250.
- the network link 265 may provide a connection via the network 270 or to other computing devices via interconnect devices and/or computers that are operated by an Internet service provider (ISP) 275.
- the ISP 275 provides data communication services via a global packet data communication network represented by the Internet 280.
- a server computer 255 may be coupled to the Internet 280.
- the server 255 broadly represents any computer, data center, virtual machine or virtual computing instance with or without a hypervisor, or computer running a containerized program system such as "DOCKER”® or "KU BERN ETES”®.
- the server 255 may represent an electronic digital service that is implemented using more than one computer or instance and that is accessed and used by transmitting web service requests, Uniform Resource Locator (URL) strings with parameters in Hypertext Transfer Protocol (HTTP) payloads, application programming interface (API) calls, application service calls, or other service calls.
- the computer system 205 and the server 255 may form elements of a distributed computing system that includes other computers, a processing cluster, a server farm, or other organization of computers that cooperate to perform tasks or run applications or services.
- the server 255 may include one or more sets of instructions that are organized as modules, methods, objects, functions, routines, or calls. The instructions may be organized as one or more computer programs, operating system services, or application programs, including mobile applications.
- the instructions may include an operating system and/or system software; one or more libraries to support multimedia, programming, or other functions; and data protocol stacks or instructions to implement TCP/IP (Transmission control protocol/Internet protocol), HTTP, or other communication protocols; file format processing instructions for parsing or rendering files encoded using HTML (for Hypertext Markup Language), XML (for Extensible Markup Language), JPEG (for Joint Photographie Experts Group), MPEG (for Moving Picture Experts Group), or PNG (for Portable Networks Graphie); user interface instructions for rendering or interpreting commands for a graphical user interface (GUI), command line interface, or text-based user interface; application software such as an office suite, Internet access applications, design and manufacturing applications, graphics applications, audio applications, software engineering applications, educational applications, games, or miscellaneous applications.
- GUI graphical user interface
- the server 255 may include a web application server that hosts a presentation layer, an application layer, and a data storage layer such as a relational database system using Structured Query Language (SQL) or no SQL, an object store, a graph database, a flat file system, or other data storage.
- SQL Structured Query Language
- object store an object store
- graph database a graph database
- flat file system a flat file system
- the computer system 205 may send messages and receive data and instructions, including program code, via the network(s), network link 265, and communications interface 260.
- a server 255 may transmit requested code for an application program via the Internet 280, ISP 275, local area network 270, and communications interface 260.
- the received code may be executed by the processor 210 as it is executed. of its reception, and/or stored in memory 215, or in other non-volatile memory for later execution.
- Execution of instructions as described in this section may implement a process as an instance of a computer program that is currently executing and consists of program code and its current activity.
- a process may consist of multiple threads that execute instructions concurrently.
- a computer program is a passive collection of instructions, while a process may be the actual execution of those instructions.
- Multiple processes may be associated with the same program; for example, having multiple instances of the same program open often means that more than one process is currently executing. Multitasking may be implemented to allow multiple processes to share the processor 210.
- each processor 210 or processor core executes only one task at a time
- the computer system 205 may be programmed to implement multitasking to allow each processor to switch between currently executing tasks without having to wait for each task to complete.
- the switches may be performed when tasks perform input/output operations, when a task indicates that it can be switched, or upon hardware interrupts.
- Time sharing may be implemented to enable rapid response to user interactive applications by rapidly performing context switches to give the appearance of multiple processes running simultaneously.
- an operating system may prevent direct communication between independent processes, by providing strictly mediated and controlled interprocess communication functionality.
- order refers to a set of at least one product having a specific recipient
- batch refers to a set of at least two similar products grouped together in a single packaging
- product or “article” refers to an object that can be grouped together in a batch or set to form an order.
- Figure 1 shows a schematic view of an embodiment of the system 100 that is the subject of the invention.
- This system 100 for updating data representing the weight of a product in a computer database 105 comprises:
- a timestamp module 115 configured to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier, - a 120 software module for determining data representative of the weight of a product based on at least:
- a software module 125 for updating a weight value of a product in a computer database based on the average value determined.
- the system 100 comprises a sensor 111 of a product reference.
- a reference is associated in a computer database of products in the form of an identifier, for example alphanumeric.
- the sensor 111 of a reference representative of a batch or a product is, for example, an image sensor configured to detect a two-dimensional or four-dimensional bar code (known as a “QR code”, for “Quick Response code”).
- QR code for “Quick Response code”.
- the senor 111 is a barcode scanner.
- the sensor 111 implements an I/O subsystem 220, associating a keyboard or a mouse with a user interface so as to allow the manual entry, in a batch or product control computer system, of an alphanumeric reference representative of a batch or a product.
- the sensor 110 of a value representative of the weight of a product is, for example, a scale.
- the weight of a product can be associated with each type of product (or each product reference), so as to compare the theoretical weight of a product and the weight captured, so as to avoid obvious errors in sending products.
- the capture of the reference of a product and the weight of said product allow a double verification of the identification of a product to be sent.
- the time stamp module 115 is, for example, an internal clock of the computing system 205.
- This time stamping means 130 is configured, for example, to provide information date and time. Such information is implemented, for example, when actuating a sensor 110 of a value representative of the weight of a product.
- the time stamp module 115 may be integrated into the sensor 110 of a value representative of the weight of a product or into a computer server 255 associated with the database 105 of captured product weight values.
- the time stamp module 115 may be a dedicated third-party system with which a calculation system 205 interacts when capturing a value representative of the weight of a product by the sensor 110.
- the software module 120 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210, this set of instructions being integrated into dedicated software or not. Such instructions are representative of a programmed processing algorithm. Such an algorithm is, for example, configured to perform at least one of the following processing operations:
- the product weight update is abandoned.
- the values implemented by the 120 software module such as:
- the maximum validity period of capturing weight values captured for a product identifier can be determined, calculable or learned by automatic training.
- the determination software module 120 may, in variants, be configured to determine another value representative of a statistical distribution of a sample of captured weight values, such as the median for example.
- the mean determined by the 120 determination software module can be an arithmetic or weighted average, in particular depending on the date of the weight value captured.
- this value can be initialized and adapted by a user by the implementation of a human-machine interface (such as a keyboard and a mouse associated with a user interface) associated with the 220 I/O subsystem.
- a human-machine interface such as a keyboard and a mouse associated with a user interface
- a calculation formula can be entered and adapted by a user by implementing a human-machine interface (such as a keyboard and mouse associated with a user interface) associated with the I/O subsystem 220.
- a human-machine interface such as a keyboard and mouse associated with a user interface
- such a calculation formula is predetermined by a computer developer.
- the system 100 comprises a software module 130 for automatic classification of products in the database 105, associating with at least one product identifier a product class, at least one value among:
- Such a classification may result from the application of an algorithm, predetermined or defined by a user, for example via the entry of a calculation formula which may be entered and adapted by a user by the implementation of a human-machine interface (such as a keyboard and a mouse associated with a user interface) associated with the 220 I/O subsystem.
- a human-machine interface such as a keyboard and a mouse associated with a user interface
- the representative value of the minimum number of weight values captured for a product identifier, said product belonging to a given product class may be equal to the maximum value between 10 days and the sum of the maximum deviation between two captures of weight values in number of calendar days and the standard deviation of the determined deviation values.
- the representative value of a capture validity time interval for a product identifier, said product belonging to a given product class may be equal to the maximum value between 5 days and the average difference between two captures of weight values in number of calendar days.
- Such a classification may correspond, for example, to a classification representative of the frequency of capturing weight values for different classes of products. Indeed, some products are ordered more regularly than others, which implies a higher frequency of capturing weights. Thus, for such products, the duration of the capture validity interval to be implemented by the determination software module 120 may be reduced. Conversely, some products are rarely ordered and therefore the capture of their weight is rare, thus, the maximum duration of capture validity for such products may be increased.
- the classification makes it possible to divide the products into homogeneous classes sharing on average the same statistical characteristics.
- the number of classes of such products depends on the implementation of the system 100 and, in particular, on the products stored in a particular warehouse. Thus, it is complex to determine, a priori, a universal classification rule, applicable to any warehouse.
- the system 100 which is the subject of the invention comprises a machine learning module 135 configured to associate a product class with at least one product identifier.
- Such a learning module 135 implements, for example, a neural network.
- a learning module 135 implements, for example, a hierarchical classification algorithm called “HCPC” (for “Hierarchical Clustering - Partitional Clustering”, translated into French as hierarchical grouping - partitioned grouping) which aims to identify groups of similar objects in a data set.
- HCPC hierarchical classification algorithm
- the HCPC approach makes it possible to combine three standard methods used in multivariate analysis, namely, the PCA principal component methods, hierarchical ascending classification and k-means partitioning.
- the algorithm takes as input all the data of weight value captures of each product.
- the collected data informs weight value captures or constants, for example: the actual weight recorded and the capture date.
- This data does not describe the behavior of the products, namely the number of weight value captures per day, the number of total weight value captures or the duration between two successive weight value captures.
- all this information makes it possible to calculate variables intended to identify behaviors and characterize products.
- a product characterization function can be implemented.
- This function takes as input the data of weight value captures from the database and calculates the variables that best describe the products.
- the behavior of a product over time is defined in the table below.
- the learning module 135 is an automatic classification module by learning configured to associate a product class with at least one product identifier based on:
- the classification algorithm can then proceed to group products that share the same characteristics on average.
- the classes are thus defined by discriminating variables, the values of these variables being able to be of the mean and standard deviation type. These variables make it possible to know the behavior of each class, in order to adapt the setting of the update of the reference weight of each product, according to its characteristics.
- the variable "Ecart_moyen” which represents the average difference in calendar days between two captures of weight values, amounts to 22 days. This means that on average, at least one weight value capture is performed every 22 days.
- the deviation between weight value captures is an important parameter in the characterization of product classes.
- the determination software module 120 preferentially implements a parameterization rule based on a product class indicator associated with the products in the database.
- the update algorithm can be executed.
- the number of product classes can be determined automatically, manually or semi-automatically, i.e. automatically and adjusted by a user.
- a product class can be assigned to any new product identifier added to the computer database.
- the machine learning module 135 may be implemented periodically, according to a manually or automatically defined period, of 15 days, for example.
- the machine learning module 135 may be implemented manually or automatically, for example according to a number of product identifiers added to the computer database and not yet classified or classified by default.
- a product identifier added to the computer database is assigned to a given product class and then a principal component analysis is performed to extract and visualize the important information contained in a multivariate data table. Then, the calculation of the “cos2” metric on each axis is performed. This metric expresses the quality of representation of the product on the dimensions of the principal component analysis. If the sum of the two “cos2” metrics is greater than 0.5, the function accepts the new product and proceeds to predict its class. Otherwise, the product remains in the class assigned by default while waiting to acquire more data.
- the update software module 125 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210, this set of instructions being integrated into dedicated software or not.
- the update software module 125 is configured to edit or add an entry representative of the weight determined by the module 120 for determining a weight for a product.
- the theoretical weight to which the captured weight of a product is compared to ensure its conformity, is updated.
- the method 100 which is the subject of the invention comprises a software module 140 for filtering captured weight values according to a capture validity limit value, the filtered values being implemented by the determination software module 120 and/or by the automatic learning module 135.
- the filtering software module 140 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210. Such a filtering software module 140 may be of the manual or automatic type.
- a manual type filtering software module 140 implements, for example, a human-machine interface (such as a keyboard and a mouse associated with a user interface) associated with the I/O subsystem 220. In this user interface, an operator can set a validity threshold value for the captured weight values.
- An automatic type filtering software module 140 implements, for example, a statistical processing computer algorithm configured to filter the outliers of a sample.
- Such a filter can be based on the following parameters, for example:
- a captured weight value can thus be filtered if this captured weight value meets the following condition:
- qnorm is the inverse of the cumulative distribution function of the sample.
- a weight value is filtered if that value is less than 0.
- a weight value is filtered if the quantity of an associated product is less than or equal to 0.
- a weight value is filtered if the above condition associated with a weight value of an associated product is true.
- Figure 4 illustrates, for example, for a given product, a set of captured weight values 405, defined on the abscissa by a capture date and on the ordinate by a captured weight value.
- a weight value 410 located outside a validity interval defined by an average 415 of weight captured during a given period of time and a given tolerance margin 420, applied in subtraction and addition to the average 415.
- Tolerance Constant + (GroupRefWeight * Tolerance%, RefWeight * Unit %)
- - WeightRef.Group represents the weight of a product, in a grouped form
- - Tolerance% represents the tolerance percentage for products in a grouped form
- WeightRef represents the unit weight of a product
- - %Unit represents the tolerance percentage for unit products.
- Such a filtering module aims in particular to not consider, in a sample, so-called “forced” values, i.e. values overloaded by computer by a warehouse operator, in particular in the event of a mismatch between the theoretical weight and the captured weight of a product.
- the number of forced values is a performance metric of the method 100 which is the subject of the invention. Indeed, an aberrant value, by feedback, degrades the adaptive nature of the updating of the weight values.
- a weight value is said to be "forced” if this value meets the following condition: Abs Actual weight — theoretical weight * quantity > Tolerance
- the method 100 which is the subject of the invention comprises a module 145 for updating the filtering software module 140, configured to update the validity limit value, according to a statistical parameter representative of a distribution of captured weight values and reference weight values associated with at least one product identifier.
- the update module 145 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210, this set of instructions being integrated into dedicated software or not.
- the statistical parameter is formed from the sum of:
- Inter variance represents the variability of the weight of the entire population of captures of selected weight values during the update period
- Intra variance represents the intra-group variance which describes the variance of weight values of a given product with quantity greater than 1.
- This variance can be implemented to determine the tolerance interval of weight values according to the following equation:
- - n represents the number of weight values captured over a given sampling period, for example 6 months and
- - a represents an assumed or tolerated prediction error, for example 1%.
- this variance can be implemented to determine the tolerance interval of weight values according to the following equation:
- - Coeff Var represents the variance adjustment coefficient, for example equal to 2, aiming to overestimate the intra-group variance in order to get as close as possible to the total variance.
- the variance may be estimated on a small population of captured weight values, for example: over six months of history, only 3 values are available.
- the estimated variance is often very low and gives a very narrow tolerance interval, which can encourage the appearance of unjustified forcing during future updates.
- a safety tolerance corresponding to a proportion of the reference weight of a product, can be set up. This safety allows for a minimum acceptable tolerance. Its default value is 5% of the reference weight of a product.
- the safety tolerance can be configurable, depending on the absolute maximum deviation, according to the following equation for example:
- the determination of the tolerance interval of weight values can be calculated according to the following equation:
- This method 300 for updating data representing the weight of a product in a computer database comprises:
- a timestamp step 310 for associating a timestamp value with a weight value capture of a product represented, in a database, by a product identifier
- This system 200 for updating data representative of the weight of a product in a computer database comprises:
- At least one calculation system 205 comprising at least one processor 210 and at least one memory 215, and
- a timestamp step to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier
- - a step of determining data representative of the weight of a product based on at least: - a minimum number of weight values captured for a product identifier,
- FIG. 5 we observe a succession 500 of particular steps complementary or subsidiary to that of the method 300.
- This method 500 allows the dynamic counting of products, the automatic validation of an order preparation line and/or preventive maintenance of a scale of the weighing device.
- the method 500 comprises:
- Steps 545 to 555 are performed upon triggering (by the operator or supplier of the device) or on a regular basis, to allow preventive maintenance of the device.
- the software calculates, for at least one sensor 110, an average deviation between its weight measurements and the weight values for the same products, updated as explained with respect to FIG. 3. This average deviation is expressed in weight units and/or as a percentage.
- the absolute value of the average deviation of the sensor in question is compared with a predetermined limit value, for example one gram and/or one thousandth.
- steps 545 to 555 can each be performed locally or remotely.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention relates to a system (100) for updating an item of data representative of the weight of a product in a database (105), the system comprising: - a sensor (110) for detecting a value representative of the weight of a product; - a timestamp module (115) configured to associate a timestamp value with a capture of the weight value of a product that is represented, in a database by a product identifier; - a software module (120) for determining an item of data representative of the weight of a product according to at least: - a minimum number of weight values for a product identifier; - a validity time interval of the weight values captured for a product identifier; and/or - a maximum validity period of the weight values captured for a product identifier; and - a module (125) for updating a weight value of a product in a database.
Description
DESCRIPTION DESCRIPTION
SYSTÈMES ET PROCÉDÉ DE MISE À JOUR D’UNE DONNÉE REPRÉSENTATIVE DU POIDS D’UN PRODUIT DANS UNE BASE DE DONNÉES INFORMATIQUE SYSTEMS AND METHOD FOR UPDATING DATA REPRESENTING THE WEIGHT OF A PRODUCT IN A COMPUTER DATABASE
Domaine technique de l’invention Technical field of the invention
La présente invention vise des systèmes de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique et un procédé de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique. Elle s’applique, notamment, au domaine de la gestion d’entrepôts et à la logistique. The present invention relates to systems for updating data representative of the weight of a product in a computer database and a method for updating data representative of the weight of a product in a computer database. It applies, in particular, to the field of warehouse management and logistics.
État de la technique State of the art
Dans le domaine de la gestion d’entrepôts et de la logistique, notamment de commandes, on associe une valeur de poids à tout produit de sorte à pouvoir assurer un contrôle de la conformité entre une commande et un ensemble comportant au moins un produit, ou article, à expédier. Cette conformité est réalisée, simplement, par le calcul de la somme arithmétique des poids mesurés par un opérateur des produits d’une commande en cours de traitement et par la comparaison avec la somme arithmétique des poids théoriques des produits. Ceci suppose que l’association produit et poids théorique des produits soit correctement paramétrée. Or, pour plusieurs raisons, cette association est souvent erronée. In the field of warehouse management and logistics, particularly orders, a weight value is associated with any product so as to ensure compliance control between an order and a set containing at least one product, or item, to be shipped. This compliance is achieved, simply, by calculating the arithmetic sum of the weights measured by an operator of the products of an order being processed and by comparing them with the arithmetic sum of the theoretical weights of the products. This assumes that the association between product and theoretical weight of the products is correctly set. However, for several reasons, this association is often erroneous.
En particulier, il arrive que les fabricants de certains produits modifient la composition des produits de telle manière que le poids du produit est affecté, volontairement ou involontairement. Une telle modification peut ne pas être notifiée aux gestionnaires d’entrepôts, rendant impossible le contrôle de conformité de commande. Il arrive aussi, par ailleurs, que l’emballage (« packaging », en anglais) d’un produit change, altérant non pas directement le poids d’un produit mais le poids d’un lot de transport du produit. In particular, it happens that manufacturers of certain products modify the composition of the products in such a way that the weight of the product is affected, voluntarily or involuntarily. Such a modification may not be notified to warehouse managers, making it impossible to check order conformity. It also happens, moreover, that the packaging of a product changes, altering not directly the weight of a product but the weight of a transport batch of the product.
Pour toutes ces raisons, la vérification de la conformité d’un ensemble de produits à envoyer par rapport à une commande émise pour ces produits est rendue difficile et la gestion d’entrepôt en est dégradée. On connait, la demande de brevet américain US 2008/217 108A1 qui divulgue un procédé de validation d’une mesure de poids représentative d’une commande si, après une durée écoulée, la commande n’est pas contestée. For all these reasons, verifying the conformity of a set of products to be sent with respect to an order issued for these products is made difficult and warehouse management is degraded. We know of American patent application US 2008/217 108A1 which discloses a method for validating a weight measurement representative of an order if, after a period of time has elapsed, the order is not contested.
Brève description des figures Brief description of the figures
D’autres avantages, buts et caractéristiques particulières de l’invention ressortiront de la description non limitative qui suit d’au moins un mode de réalisation particulier des systèmes et du procédé objets de la présente invention, en regard des dessins annexés, dans lesquels : la figure 1 représente, schématiquement, un mode de réalisation particulier du système objet de l’invention,
la figure 2 représente, schématiquement, un mode de réalisation particulier d’un système informatique objet de l’invention, la figure 3 représente, et sous forme d’un logigramme, une succession d’étapes particulière du procédé objet de l’invention, la figure 4 représente, schématiquement, un ensemble de valeurs de poids captées d’un produit et mises en œuvre par un système ou procédé objet de l’invention et la figure 5 représente, sous forme d’un logigramme, une succession d’étapes particulière complémentaire ou subsidiaire de celle du procédé objet de l’invention. Other advantages, aims and particular characteristics of the invention will emerge from the following non-limiting description of at least one particular embodiment of the systems and the method which are the subject of the present invention, with reference to the appended drawings, in which: FIG. 1 represents, schematically, a particular embodiment of the system which is the subject of the invention, Figure 2 schematically represents a particular embodiment of a computer system that is the subject of the invention, Figure 3 represents, and in the form of a flowchart, a particular succession of steps of the method that is the subject of the invention, Figure 4 schematically represents a set of weight values captured from a product and implemented by a system or method that is the subject of the invention and Figure 5 represents, in the form of a flowchart, a particular succession of steps that is complementary or subsidiary to that of the method that is the subject of the invention.
Objet de l’invention Subject of the invention
La présente invention vise à remédier à tout ou partie de ces inconvénients. The present invention aims to remedy all or part of these drawbacks.
Tous les modes de réalisation divulgués et revendiqués ici sont dirigés vers des méthodes mises en œuvre par ordinateur qui interagissent avec des données numériques pour fournir une application pratique de la technologie informatique au problème de manque de fiabilité liée à l’identification de la nature d’un lot ou d’un produit par le poids dudit lot ou dudit produit, considérant les fluctuations de poids liées à des actions des fabricants de ces lots ou produits. La divulgation n'est pas destinée à englober des techniques d'organisation de l'activité humaine, d'exécution de processus mentaux ou d'exécution d'un concept mathématique, et toute interprétation des revendications visant à englober de telles techniques serait déraisonnable sur la base de la divulgation dans son ensemble. All of the embodiments disclosed and claimed herein are directed to computer-implemented methods that interact with digital data to provide a practical application of computer technology to the problem of unreliability in identifying the nature of a batch or product by the weight of said batch or product, considering fluctuations in weight related to actions of the manufacturers of such batches or products. The disclosure is not intended to encompass techniques of organizing human activity, performing mental processes, or executing a mathematical concept, and any interpretation of the claims to encompass such techniques would be unreasonable based on the disclosure as a whole.
À cet effet, selon un premier aspect, l’invention vise un système selon la revendication 1. Grâce à ces dispositions, le poids de référence des produits, articles ou lots évolue au gré des modifications de ce poids par les fabricants, ces modifications n’étant pas transmises de manière fiable aux entrepôts de stockage et de distribution utilisant le poids des produits comme mesure de contrôle dans l’exécution des traitements des commandes. La mise en œuvre d’intervalles de validité des captures de poids permet de garantir le caractère adaptatif du système, en favorisant les captures récentes aux dépens des captures les plus anciennes. To this end, according to a first aspect, the invention relates to a system according to claim 1. Thanks to these provisions, the reference weight of the products, articles or batches changes according to the modifications of this weight by the manufacturers, these modifications not being transmitted reliably to the storage and distribution warehouses using the weight of the products as a control measure in the execution of order processing. The implementation of validity intervals for weight captures makes it possible to guarantee the adaptive nature of the system, by favoring recent captures at the expense of older captures.
Dans des modes de réalisation, le système objet de l’invention comporte un module logiciel de classification automatique de produits dans la base de données, associant à au moins un identifiant de produit une classe de produit, au moins une valeur parmi : In embodiments, the system which is the subject of the invention comprises a software module for automatic classification of products in the database, associating with at least one product identifier a product class, at least one value among:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit,- a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit,
mis en œuvre par le module logiciel de détermination d’une donnée représentative du poids étant déterminée en fonction d’une classe de produit. - a maximum validity period for capturing weight values captured for a product identifier, implemented by the software module for determining data representative of the weight being determined according to a product class.
Ces modes de réalisation permettent de catégoriser les produits en différents groupes présentant des caractéristiques distinctes, notamment en termes de fréquence de traitement par exemple. Ceci permet de garantir une mise à jour efficace et fiable, au sens de représentative du réel, des valeurs de poids des produits. These embodiments make it possible to categorize the products into different groups having distinct characteristics, in particular in terms of processing frequency for example. This makes it possible to guarantee an efficient and reliable update, in the sense of representative of reality, of the weight values of the products.
Dans des modes de réalisation, le système objet de l’invention comporte un module d’apprentissage automatique configuré pour associer une classe de produit à au moins un identifiant de produit. Ces modes de réalisation permettent d’obtenir des classes de produits de manière automatique et adaptable au gré de l’apprentissage du module d’apprentissage. In embodiments, the system object of the invention comprises a machine learning module configured to associate a product class with at least one product identifier. These embodiments make it possible to obtain product classes automatically and adaptably according to the learning of the learning module.
Dans des modes de réalisation, le module d’apprentissage est un module de classification automatique par apprentissage configuré pour associer une classe de produit à au moins un identifiant de produit en fonction : In embodiments, the learning module is an automatic learning classification module configured to associate a product class with at least one product identifier based on:
- d’une durée maximale entre deux captures de valeurs de poids captées pour un identifiant de produit, - a maximum duration between two captures of weight values captured for a product identifier,
- d’une durée moyenne entre deux captures de valeurs de poids captées pour un identifiant de produit, - an average duration between two captures of weight values captured for a product identifier,
- d’un nombre total de captures de valeurs de poids captées pour un identifiant de produit,- a total number of weight value captures captured for a product identifier,
- d’un nombre maximal, par jour au cours duquel au moins une capture de poids est réalisée, de captures de valeurs de poids captées pour un identifiant de produit, - a maximum number, per day during which at least one weight capture is carried out, of captures of weight values captured for a product identifier,
- d’un nombre moyen, par jour au cours duquel au moins une capture de poids est réalisée, de captures de valeurs de poids captées pour un identifiant de produit, - an average number, per day during which at least one weight capture is carried out, of captures of weight values captured for a product identifier,
- d’un nombre moyen, par jour, de captures de valeurs de poids captées pour un identifiant de produit, - an average number, per day, of captures of weight values captured for a product identifier,
- d’une proportion de nombre de jours au cours duquel au moins une capture de poids est réalisée parmi le nombre de jours durant une durée déterminée, - a proportion of the number of days during which at least one weight capture is carried out among the number of days during a given period,
- d’un nombre de jours durant lequel au moins trois captures de poids sont réalisées,- a number of days during which at least three weight captures are carried out,
- d’une proportion de nombre de jours au cours duquel au moins trois captures de poids sont réalisées parmi le nombre de jours au cours duquel au moins une capture de poids est réalisée, - a proportion of the number of days during which at least three weight captures are carried out among the number of days during which at least one weight capture is carried out,
- d’un nombre de jours successifs durant lesquels au moins trois captures de poids sont réalisées et/ou - a number of successive days during which at least three weight captures are carried out and/or
- d’une durée entre le premier jour et le dernier jour au cours desquels au moins une capture de poids sont réalisées. - a duration between the first day and the last day during which at least one weight capture is carried out.
Dans des modes de réalisation, le système objet de l’invention comporte un module logiciel de filtrage de valeurs de poids captées en fonction d’une valeur limite de validité de la
capture, les valeurs filtrées étant mises en œuvre par le module logiciel de détermination et/ou par le module d’apprentissage automatique. Ces modes de réalisation permettent de retirer les valeurs extraordinaires et incorrectes de l’échantillon statistique servant de base à l’adaptativité du système. Par exemple, dans le cas de la mise en œuvre du système dans un entrepôt, un opérateur peut « forcer » le poids d’un produit en cas d’inadéquation entre le poids mesuré et le poids théorique. In embodiments, the system object of the invention comprises a software module for filtering captured weight values according to a validity limit value of the capture, the filtered values being implemented by the determination software module and/or by the machine learning module. These embodiments make it possible to remove extraordinary and incorrect values from the statistical sample serving as a basis for the adaptivity of the system. For example, in the case of the implementation of the system in a warehouse, an operator can “force” the weight of a product in the event of a mismatch between the measured weight and the theoretical weight.
Dans des modes de réalisation, le système objet de l’invention comporte un module de mise à jour du module logiciel de filtrage, configuré pour mettre à jour la valeur limite de validité, en fonction d’un paramètre statistique représentatif d’une distribution de valeurs de poids captées et de valeurs de poids de référence associées à au moins un identifiant de produit. Ces modes de réalisation permettent de filtrer intelligemment les valeurs mises en œuvre dans le module de mise à jour. In embodiments, the system that is the subject of the invention comprises an update module of the filtering software module, configured to update the validity limit value, according to a statistical parameter representative of a distribution of captured weight values and reference weight values associated with at least one product identifier. These embodiments make it possible to intelligently filter the values implemented in the update module.
Dans des modes de réalisation, le paramètre statistique est formé de la somme de :In embodiments, the statistical parameter is formed from the sum of:
- la variance d’une distribution de valeurs de poids captées et de valeurs de poids de référence associées à un identifiant de produit et - the variance of a distribution of captured weight values and reference weight values associated with a product identifier and
- la variance d’une distribution de valeurs de poids captées et de valeurs de poids de référence indépendamment d’un identifiant de produit. - the variance of a distribution of captured weight values and reference weight values independently of a product identifier.
Ces modes de réalisation permettent de prendre en compte à la fois la variation intra- produit et la variation inter-produits. These embodiments make it possible to take into account both intra-product variation and inter-product variation.
Selon un deuxième aspect, l’invention vise un procédé de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique, qui comporte : According to a second aspect, the invention relates to a method for updating data representative of the weight of a product in a computer database, which comprises:
- une étape de capture d’une valeur représentative du poids d’un produit, - a step of capturing a value representative of the weight of a product,
- une étape d’horodatage, pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit, - a timestamp step, to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier,
- une étape de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins : - a step of determining data representative of the weight of a product based on at least:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit, - a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ladite étape étant configurée pour déterminer une valeur moyenne de poids captés : - a maximum validity period for capturing weight values captured for a product identifier, said step being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - for the minimum number of values defined, - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et - within the limit of the maximum period of validity defined and
- une étape de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée. - a step of updating a weight value of a product in a computer database based on the average value determined.
Ce procédé présente les mêmes avantages que le système objet du premier aspect de l’invention. This method has the same advantages as the system which is the subject of the first aspect of the invention.
Selon un troisième aspect, l’invention vise un système de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique, qui comporte : According to a third aspect, the invention aims at a system for updating data representative of the weight of a product in a computer database, which comprises:
- au moins un système de calcul, comportant au moins un processeur et au moins une mémoire, et - at least one computing system, comprising at least one processor and at least one memory, and
- des instructions, stockées dans une mémoire et qui, quand exécutées par le système de calcul, entraînent la réalisation par le système de calcul de : - instructions, stored in a memory and which, when executed by the computing system, cause the computing system to carry out:
- une étape de capture d’une valeur représentative du poids d’un produit, - a step of capturing a value representative of the weight of a product,
- une étape d’horodatage, pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit, - a timestamp step, to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier,
- une étape de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins : - a step of determining data representative of the weight of a product based on at least:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit, - a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ladite étape étant configurée pour déterminer une valeur moyenne de poids captés : - a maximum validity period for capturing weight values captured for a product identifier, said step being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini, - for the minimum number of values defined,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et - within the limit of the maximum period of validity defined and
- une étape de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée. - a step of updating a weight value of a product in a computer database based on the average value determined.
Ce système a les mêmes avantages que le système objet du premier aspect de l’invention. This system has the same advantages as the system which is the subject of the first aspect of the invention.
Description d’exemples de réalisation de l’invention
La présente description est donnée à titre non limitatif, chaque caractéristique d’un mode de réalisation pouvant être combinée à toute autre caractéristique de tout autre mode de réalisation de manière avantageuse. Description of exemplary embodiments of the invention This description is given without limitation, each characteristic of an embodiment being able to be combined with any other characteristic of any other embodiment in an advantageous manner.
On note dès à présent que les figures ne sont pas à l’échelle. Please note that the figures are not to scale.
Comme on le comprend à la lecture de la présente description, divers concepts inventifs peuvent être mis en œuvre par une ou plusieurs méthodes ou dispositifs décrits ci- après, dont plusieurs exemples sont ici fournis. Les actions ou étapes réalisées dans le cadre de la réalisation du procédé ou du dispositif peuvent être ordonnées de toute manière appropriée. En conséquence, il est possible de construire des modes de réalisation dans lesquels les actions ou étapes sont exécutées dans un ordre différent de celui illustré, ce qui peut inclure l'exécution de certains actes simultanément, même s'ils sont présentés comme des actes séquentiels dans les modes de réalisation illustrés. As will be understood from the present description, various inventive concepts may be implemented by one or more methods or devices described hereinafter, several examples of which are provided herein. The actions or steps performed in carrying out the method or device may be ordered in any appropriate manner. Accordingly, it is possible to construct embodiments in which the actions or steps are performed in a different order than that illustrated, which may include performing certain acts simultaneously, even if they are presented as sequential acts in the illustrated embodiments.
L'expression "et/ou", telle qu'elle est utilisée dans le présent document et dans les revendications, doit être comprise comme signifiant 'Tun ou l'autre ou les deux" des éléments ainsi conjoints, c'est-à-dire des éléments qui sont présents de manière conjonctive dans certains cas et de manière disjonctive dans d'autres cas. Les éléments multiples énumérés avec "et/ou" doivent être interprétés de la même manière, c'est-à-dire "un ou plusieurs" des éléments ainsi conjoints. D'autres éléments peuvent éventuellement être présents, autres que les éléments spécifiquement identifiés par la clause "et/ou", qu'ils soient liés ou non à ces éléments spécifiquement identifiés. Ainsi, à titre d'exemple non limitatif, une référence à "A et/ou B", lorsqu'elle est utilisée conjointement avec un langage ouvert tel que "comprenant" peut se référer, dans un mode de réalisation, à A seulement (incluant éventuellement des éléments autres que B) ; dans un autre mode de réalisation, à B seulement (incluant éventuellement des éléments autres que A) ; dans un autre mode de réalisation encore, à A et B (incluant éventuellement d'autres éléments) ; etc. The expression "and/or", as used herein and in the claims, is to be understood to mean 'either or both' of the elements so conjoined, i.e., elements that are present conjunctively in some instances and disjunctively in other instances. Multiple elements listed with "and/or" are to be interpreted in the same manner, i.e., "one or more" of the elements so conjoined. Other elements may optionally be present, other than the elements specifically identified by the "and/or" clause, whether or not related to those specifically identified elements. Thus, by way of non-limiting example, a reference to "A and/or B", when used in conjunction with open language such as "comprising" may refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to A and B (possibly including other elements); etc.
Tel qu'utilisé ici dans la description et dans les revendications, "ou" doit être compris de manière inclusive. As used herein in the description and claims, "or" is to be understood inclusively.
Telle qu'elle est utilisée dans la présente description et dans les revendications, l'expression "au moins un", en référence à une liste d'un ou de plusieurs éléments, doit être comprise comme signifiant au moins un élément choisi parmi un ou plusieurs éléments de la liste d'éléments, mais n'incluant pas nécessairement au moins un de chaque élément spécifiquement énuméré dans la liste d'éléments et n'excluant pas toute combinaison d'éléments dans la liste d'éléments. Cette définition permet également la présence facultative d'éléments autres que les éléments spécifiquement identifiés dans la liste des éléments auxquels l'expression "au moins un" fait référence, qu'ils soient liés ou non à ces éléments spécifiquement identifiés. Ainsi, à titre d'exemple non limitatif, "au moins l'un de A et B" (ou,
de manière équivalente, "au moins l'un de A ou B", ou, de manière équivalente, "au moins l'un de A et/ou B") peut se référer, dans un mode de réalisation, à au moins un, incluant éventuellement plus d'un, A, sans B présent (et incluant éventuellement des éléments autres que B) ; dans un autre mode de réalisation, à au moins un, comprenant éventuellement plus d'un, B, sans A présent (et comprenant éventuellement des éléments autres que A) ; dans encore un autre mode de réalisation, à au moins un, comprenant éventuellement plus d'un, A, et au moins un, comprenant éventuellement plus d'un, B (et comprenant éventuellement d'autres éléments) ; etc. As used in this specification and in the claims, the expression "at least one", in reference to a list of one or more elements, is to be understood to mean at least one element selected from one or more elements in the list of elements, but not necessarily including at least one of each element specifically enumerated in the list of elements and not excluding any combination of elements in the list of elements. This definition also allows for the optional presence of elements other than the elements specifically identified in the list of elements to which the expression "at least one" refers, whether or not related to those specifically identified elements. Thus, by way of non-limiting example, "at least one of A and B" (or, equivalently, "at least one of A or B", or, equivalently, "at least one of A and/or B") may refer, in one embodiment, to at least one, optionally including more than one, A, without B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, without A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
Dans les revendications, ainsi que dans la description ci-dessous, toutes les expressions transitoires telles que "comprenant", "incluant", "portant", "ayant", "contenant", "impliquant", "tenant", "composé de", et autres, doivent être comprises comme étant ouvertes, c'est-à-dire comme signifiant incluant mais non limité à. Seules les expressions transitoires "consistant en" et "consistant essentiellement en" doivent être comprises comme des expressions transitoires fermées ou semi-fermées, respectivement. In the claims, as well as in the description below, all transitional expressions such as "comprising", "including", "carrying", "having", "containing", "involving", "holding", "consisting of", and the like, are to be understood as open, i.e., as meaning including but not limited to. Only the transitional expressions "consisting of" and "consisting essentially of" are to be understood as closed or semi-closed transitional expressions, respectively.
On observe, sur la figure 2, schéma fonctionnel qui illustre un exemple de système informatique avec lequel un mode de réalisation peut être mis en œuvre. Dans l'exemple de la figure 2, un système informatique 205 et des instructions pour la mise en œuvre des technologies divulguées dans le matériel, le logiciel, ou une combinaison de matériel et de logiciel, sont représentés schématiquement, par exemple sous forme de boîtes et de cercles, au même niveau de détail qui est couramment utilisé par les personnes de compétence ordinaire dans l'art auquel cette divulgation se rapporte pour communiquer sur l'architecture des ordinateurs et les mises en œuvre des systèmes informatiques. 2 is a block diagram illustrating an exemplary computer system with which an embodiment may be implemented. In the example of FIG. 2, a computer system 205 and instructions for implementing the disclosed technologies in the hardware, software, or combination of hardware and software are schematically depicted, such as as boxes and circles, at the same level of detail that is commonly used by those of ordinary skill in the art to which this disclosure pertains to communicate computer architecture and computer system implementations.
Le système informatique 205 comporte un sous-système d'entrée/sortie (dit « I/O », pour « Input/Output », traduit par Entrée/sortie en français) 220 qui peut comporter un bus et/ou un ou plusieurs autres mécanismes de communication pour communiquer des informations et/ou des instructions entre les composants du système informatique 205 sur des chemins de signaux électroniques. Le sous-système d'entrée/sortie 220 peut comporter un contrôleur d'entrée/sortie, un contrôleur de mémoire et au moins un port d'entrée/sortie. Les chemins de signaux électroniques sont représentés schématiquement dans les dessins, par exemple sous forme de lignes, de flèches unidirectionnelles ou de flèches bidirectionnelles. The computer system 205 includes an input/output (I/O) subsystem 220 that may include a bus and/or one or more other communication mechanisms for communicating information and/or instructions between components of the computer system 205 over electronic signal paths. The input/output subsystem 220 may include an input/output controller, a memory controller, and at least one input/output port. The electronic signal paths are shown schematically in the drawings, for example, as lines, one-way arrows, or two-way arrows.
Au moins un processeur 210 est couplé au sous-système I/O 220 pour traiter les informations et les instructions. Le processeur 210 peut comporter, par exemple, un microprocesseur ou un microcontrôleur à usage général et/ou un microprocesseur à usage spécial tel qu'un système intégré ou une unité de traitement graphique (GPU) ou un processeur de signaux numériques ou un processeur ARM. Le processeur 210 peut comporter une unité arithmétique et logique (UAL) intégrée ou peut être couplé à une UAL séparée.
Le système informatique 205 comporter une ou plusieurs mémoires 225, telle qu'une mémoire principale, qui est couplée au sous-système I/O 220 pour stocker numériquement de manière électronique des données et des instructions à exécuter par le processeur 210. La mémoire 225 peut comporter une mémoire volatile telle que diverses formes de mémoire vive (RAM) ou tout autre dispositif de stockage dynamique. La mémoire 225 peut également être utilisée pour stocker des variables temporaires ou d'autres informations intermédiaires pendant l'exécution des instructions à exécuter par le processeur 210. De telles instructions, lorsqu'elles sont stockées dans un support de stockage lisible par ordinateur non transitoire accessible au processeur 210, peuvent transformer le système informatique 205 en une machine à usage spécial qui est personnalisée pour effectuer les opérations spécifiées dans les instructions. At least one processor 210 is coupled to the I/O subsystem 220 to process information and instructions. The processor 210 may include, for example, a general purpose microprocessor or microcontroller and/or a special purpose microprocessor such as an embedded system or graphics processing unit (GPU) or a digital signal processor or an ARM processor. The processor 210 may include an integrated arithmetic logic unit (ALU) or may be coupled to a separate ALU. The computer system 205 includes one or more memories 225, such as a main memory, that is coupled to the I/O subsystem 220 to electronically digitally store data and instructions to be executed by the processor 210. The memory 225 may include volatile memory such as various forms of random access memory (RAM) or other dynamic storage devices. The memory 225 may also be used to store temporary variables or other intermediate information during execution of the instructions to be executed by the processor 210. Such instructions, when stored in a non-transitory computer-readable storage medium accessible to the processor 210, may transform the computer system 205 into a special purpose machine that is customized to perform the operations specified in the instructions.
Le système informatique 205 comporte, de plus, une mémoire non volatile telle qu'une mémoire morte (ROM) 230 ou un autre dispositif de stockage statique couplé au sous-système I/O 220 pour stocker des informations et des instructions pour le processeur 210. La ROM 230 peut comporter diverses formes de ROM programmable (PROM) telles que la PROM effaçable (EPROM) ou la PROM effaçable électriquement (EEPROM). Une unité de stockage persistant 215 peut comporter diverses formes de mémoire vive non volatile (NVRAM), telle qu'une mémoire FLASH, ou un stockage à l'état solide, un disque magnétique ou un disque optique tel qu'un CD-ROM ou un DVD-ROM et peut être couplée au sous-système I/O 220 pour stocker des informations et des instructions. La mémoire 215 est un exemple de support lisible par ordinateur non transitoire qui peut être utilisé pour stocker des instructions et des données qui, lorsqu'elles sont exécutées par le processeur 210, provoquent l'exécution de méthodes mises en œuvre par ordinateur pour exécuter les techniques du présent document. The computer system 205 further includes non-volatile memory such as a read only memory (ROM) 230 or other static storage device coupled to the I/O subsystem 220 for storing information and instructions for the processor 210. The ROM 230 may include various forms of programmable ROM (PROM) such as erasable PROM (EPROM) or electrically erasable PROM (EEPROM). A persistent storage unit 215 may include various forms of non-volatile random access memory (NVRAM), such as FLASH memory, or solid state storage, a magnetic disk, or an optical disk such as a CD-ROM or DVD-ROM and may be coupled to the I/O subsystem 220 for storing information and instructions. Memory 215 is an example of a non-transitory computer-readable medium that can be used to store instructions and data that, when executed by processor 210, cause execution of computer-implemented methods for performing the techniques of this document.
Les instructions dans la mémoire 225, la ROM 230 ou le stockage 215 peuvent comporter un ou plusieurs ensembles d'instructions qui sont organisés en modules, méthodes, objets, fonctions, routines ou appels. Les instructions peuvent être organisées comme un ou plusieurs programmes informatiques, services de système d'exploitation ou programmes d'application, y compris les applications mobiles. Les instructions peuvent comporter un système d'exploitation et/ou un logiciel système ; une ou plusieurs bibliothèques pour prendre en charge des fonctions multimédias, de programmation ou autres ; des instructions ou des piles de protocoles de données pour mettre en œuvre des protocoles de communication TCP/IP, HTTP ou autres ; des instructions de traitement de format de fichier pour analyser ou rendre des fichiers codés en utilisant HTML, XML, JPEG, MPEG ou PNG ; des instructions d'interface utilisateur pour rendre ou interpréter des commandes pour une interface utilisateur graphique (dite « GUI », pour « Graphie User Interface », traduit par interface utilisateur graphique), une interface de ligne de commande ou une interface utilisateur textuelle ; un
logiciel d'application tel qu'une suite bureautique, des applications d'accès à Internet, des applications de conception et de fabrication, des applications graphiques, des applications audio, des applications de génie logiciel, des applications éducatives, des jeux ou des applications diverses. Les instructions peuvent mettre en œuvre un serveur web, un serveur d'applications web ou un client web. Les instructions peuvent être organisées sous la forme d'une couche de présentation, d'une couche d'application et d'une couche de stockage de données telles qu'un système de base de données relationnelle utilisant un langage d'interrogation structuré (SQL) ou aucun SQL, un magasin d'objets, une base de données graphique, un système de fichiers plats ou tout autre stockage de données. The instructions in memory 225, ROM 230, or storage 215 may comprise one or more sets of instructions that are organized into modules, methods, objects, functions, routines, or calls. The instructions may be organized as one or more computer programs, operating system services, or application programs, including mobile applications. The instructions may comprise an operating system and/or system software; one or more libraries to support multimedia, programming, or other functions; data protocol instructions or stacks to implement TCP/IP, HTTP, or other communication protocols; file format processing instructions to parse or render files encoded using HTML, XML, JPEG, MPEG, or PNG; user interface instructions to render or interpret commands for a graphical user interface (GUI), command line interface, or text-based user interface; application software such as an office suite, Internet access applications, design and manufacturing applications, graphics applications, audio applications, software engineering applications, educational applications, games, or miscellaneous applications. The instructions may implement a web server, a web application server, or a web client. The instructions may be organized as a presentation layer, an application layer, and a data storage layer such as a relational database system using Structured Query Language (SQL) or no SQL, an object store, a graph database, a flat file system, or other data storage.
Le système informatique 205 peut être couplé via le sous-système I/O 220 à au moins un dispositif de sortie 235. Dans un mode de réalisation, le dispositif de sortie 235 est un écran d'ordinateur numérique. Des exemples d'affichage qui peuvent être utilisés dans divers modes de réalisation comprennent un écran tactile ou un affichage à diodes électroluminescentes (DEL) ou un affichage à cristaux liquides (LCD) ou un affichage sur papier électronique. Le système informatique 205 peut comporter un ou plusieurs autres types de dispositifs de sortie 235, en remplacement ou en plus d'un dispositif d'affichage. Des exemples d'autres dispositifs de sortie 235 comportent des imprimantes, des imprimantes de tickets, des traceurs, des projecteurs, des cartes son ou des cartes vidéo, des haut-parleurs, des buzzers ou des dispositifs piézoélectriques ou d'autres dispositifs audibles, des lampes ou des indicateurs LED ou LCD, des dispositifs haptiques, des actionneurs ou des servos. The computer system 205 may be coupled via the I/O subsystem 220 to at least one output device 235. In one embodiment, the output device 235 is a digital computer display. Exemplary displays that may be used in various embodiments include a touch screen or a light emitting diode (LED) display or a liquid crystal display (LCD) or an e-paper display. The computer system 205 may include one or more other types of output devices 235, either in place of or in addition to a display device. Exemplary other output devices 235 include printers, ticket printers, plotters, projectors, sound cards or video cards, speakers, buzzers or piezoelectric or other audible devices, LED or LCD lights or indicators, haptic devices, actuators, or servos.
Au moins un dispositif d'entrée 240 est couplé au sous-système I/O 220 pour communiquer des signaux, des données, des sélections de commandes ou des gestes au processeur 210. Des exemples de dispositifs d'entrée 240 comportent des écrans tactiles, des microphones, des caméras numériques fixes et vidéo, des touches alphanumériques et autres, des claviers, des tablettes graphiques, des scanners d'images, des joysticks, des horloges, des interrupteurs, des boutons, des cadrans, des glissières. At least one input device 240 is coupled to the I/O subsystem 220 for communicating signals, data, command selections, or gestures to the processor 210. Examples of input devices 240 include touch screens, microphones, digital still and video cameras, alphanumeric and other keys, keyboards, graphics tablets, image scanners, joysticks, clocks, switches, buttons, dials, sliders.
Un autre type de dispositif d'entrée est un dispositif de commande 245, qui peut effectuer une commande de curseur ou d'autres fonctions de commande automatisée telles que la navigation dans une interface graphique sur un écran d'affichage, alternativement ou en plus des fonctions d'entrée. Le dispositif de commande 245 peut être un pavé tactile, une souris, une boule de commande ou des touches de direction du curseur pour communiquer des informations de direction et des sélections de commande au processeur 210 et pour commander le mouvement du curseur sur l'écran 235. Le dispositif d'entrée peut avoir au moins deux degrés de liberté dans deux axes, un premier axe (par exemple, x) et un deuxième axe (par exemple, y), ce qui permet au dispositif de spécifier des positions dans un plan. Un autre type de dispositif d'entrée est un dispositif de commande filaire, sans-fil ou optique, tel
qu'un joystick, une baguette, une console, un volant, une pédale, un mécanisme de changement de vitesse ou tout autre type de dispositif de commande. Un dispositif d'entrée 240 peut inclure une combinaison de plusieurs dispositifs d'entrée différents, tels qu'une caméra vidéo et un capteur de profondeur. Another type of input device is a control device 245, which may perform cursor control or other automated control functions such as navigating a graphical interface on a display screen, alternatively or in addition to input functions. The control device 245 may be a touchpad, mouse, trackball, or cursor direction keys to communicate direction information and control selections to the processor 210 and to control movement of the cursor on the display 235. The input device may have at least two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify positions in a plane. Another type of input device is a wired, wireless, or optical control device, such as such as a joystick, wand, console, steering wheel, pedal, gear shift mechanism, or other type of control device. An input device 240 may include a combination of several different input devices, such as a video camera and a depth sensor.
Dans un autre mode de réalisation, le système informatique 205 peut comprendre un dispositif de l'internet des objets (dit « loT », pour « Internet of things ») dans lequel un ou plusieurs du dispositif de sortie 235, du dispositif d'entrée 240 et du dispositif de commande 245 sont omis. Ou, dans un tel mode de réalisation, le dispositif d'entrée 240 peut comporter une ou plusieurs caméras, des détecteurs de mouvement, des thermomètres, des microphones, des détecteurs sismiques, d'autres capteurs ou détecteurs, des dispositifs de mesure ou des codeurs et le dispositif de sortie 235 peut comprendre un affichage à usage spécial tel qu'un affichage LED ou LCD à ligne unique, un ou plusieurs indicateurs, un panneau d'affichage, un compteur, une vanne, un solénoïde, un actionneur ou un servomoteur. In another embodiment, the computer system 205 may include an Internet of Things (IoT) device in which one or more of the output device 235, the input device 240, and the control device 245 are omitted. Or, in such an embodiment, the input device 240 may include one or more cameras, motion detectors, thermometers, microphones, seismic detectors, other sensors or detectors, measuring devices, or encoders and the output device 235 may include a special purpose display such as a single-line LED or LCD display, one or more indicators, a display panel, a meter, a valve, a solenoid, an actuator, or a servo motor.
Le dispositif de sortie 235 peut comporter du matériel, des logiciels, des microprogrammes et des interfaces pour générer des paquets de rapport de position, des notifications, des signaux d'impulsion ou de battement de cœur, ou d'autres transmissions de données récurrentes qui spécifient une position du système informatique 205, seul ou en combinaison avec d'autres données spécifiques à l'application, dirigées vers l'hôte 250 ou le serveur 255. The output device 235 may include hardware, software, firmware, and interfaces to generate position report packets, notifications, pulse or heartbeat signals, or other recurring data transmissions that specify a position of the computer system 205, alone or in combination with other application-specific data, directed to the host 250 or server 255.
Le système informatique 205 peut mettre en œuvre les techniques décrites dans le présent document en utilisant une logique câblée personnalisée, au moins un ASIC (pour « Application-specific integrated circuit », traduit par « circuit intégré propre à une application ») ou un FPGA (pour « Field-programmable gate array », traduit par « réseau de portes programmables in situ), un microprogramme et/ou des instructions de programme ou une logique qui, lorsqu'ils sont chargés et utilisés ou exécutés en combinaison avec le système informatique, provoquent ou programment le système informatique pour qu'il fonctionne comme une machine à usage spécifique. Selon un mode de réalisation, les techniques décrites ici sont exécutées par le système informatique 205 en réponse au processeur 210 qui exécute au moins une séquence d'au moins une instruction contenue dans la mémoire principale 225. Ces instructions peuvent être lues dans la mémoire principale 225 à partir d'un autre support de stockage, tel que la mémoire 215. L'exécution des séquences d'instructions contenues dans la mémoire principale 225 amène le processeur 210 à exécuter les étapes du processus décrites dans le présent document. Dans d'autres modes de réalisation, des circuits câblés peuvent être utilisés à la place ou en combinaison avec des instructions logicielles. The computer system 205 may implement the techniques described herein using custom hardwired logic, at least one ASIC (Application-specific integrated circuit) or FPGA (Field-programmable gate array), firmware, and/or program instructions or logic that, when loaded and used or executed in combination with the computer system, cause or program the computer system to operate as a special purpose machine. In one embodiment, the techniques described herein are performed by the computer system 205 in response to the processor 210 executing at least one sequence of at least one instruction contained in the main memory 225. These instructions may be read into the main memory 225 from another storage medium, such as the memory 215. Execution of the sequences of instructions contained in the main memory 225 causes the processor 210 to perform the process steps described herein. In other embodiments, hardwired circuits may be used in place of or in combination with software instructions.
Le terme "support de stockage", tel qu'il est utilisé dans le présent document, désigne tout support non transitoire qui stocke des données et/ou des instructions permettant à une
machine de fonctionner d'une manière spécifique. Ces supports de stockage peuvent comporter des supports non volatils et/ou des supports volatils. Les supports non volatils comprennent, par exemple, les disques optiques ou magnétiques, tels que la mémoire 215. Les supports volatils comportent la mémoire dynamique, telle que la mémoire 225. Les formes courantes de supports de stockage comportent, par exemple, un disque dur, un lecteur à semi- conducteurs, un lecteur flash, un support de stockage de données magnétique, tout support de stockage de données optique ou physique, une puce mémoire, etc. The term "storage medium" as used herein means any non-transitory medium that stores data and/or instructions that enable a machine to operate in a specific manner. These storage media may include non-volatile media and/or volatile media. Non-volatile media include, for example, optical or magnetic disks, such as memory 215. Volatile media include dynamic memory, such as memory 225. Common forms of storage media include, for example, a hard disk, a solid-state drive, a flash drive, a magnetic data storage medium, any optical or physical data storage medium, a memory chip, etc.
Les supports de stockage sont distincts des supports de transmission, mais peuvent être utilisés conjointement avec eux. Les supports de transmission participent au transfert d'informations entre les supports de stockage. Par exemple, les supports de transmission comportent les câbles coaxiaux, les fils de cuivre et les fibres optiques, y compris les fils qui constituent un bus du sous-système I/O 220. Les supports de transmission peuvent également prendre la forme d'ondes acoustiques ou lumineuses, telles que celles générées pendant les communications de données par ondes radio et infrarouges. Storage media are distinct from, but may be used in conjunction with, transmission media. Transmission media assist in the transfer of information between storage media. For example, transmission media include coaxial cables, copper wires, and optical fibers, including the wires that make up a bus of the I/O subsystem 220. Transmission media may also take the form of acoustic or light waves, such as those generated during radio and infrared data communications.
Diverses formes de supports peuvent être impliquées dans le transport d'au moins une séquence d'au moins une instruction vers le processeur 210 pour exécution. Par exemple, les instructions peuvent initialement être transportées sur un disque magnétique ou un lecteur à semi-conducteurs d'un ordinateur distant. L'ordinateur distant peut charger les instructions dans sa mémoire dynamique et envoyer les instructions sur un lien de communication tel qu'un câble à fibre optique ou coaxial ou une ligne téléphonique en utilisant un modem. Un modem ou un routeur local au système informatique 205 peut recevoir les données sur la liaison de communication et convertir les données dans un format qui peut être lu par le système informatique 205. Par exemple, un récepteur tel qu'une antenne de radiofréquence ou un détecteur infrarouge peut recevoir les données transportées dans un signal sans fil ou optique et un circuit approprié peut fournir les données au sous-système I/O 220, par exemple en plaçant les données sur un bus. Le sous-système I/O 220 transporte les données vers la mémoire 225, à partir de laquelle le processeur 210 récupère et exécute les instructions. Les instructions reçues par la mémoire 225 peuvent éventuellement être stockées sur la mémoire 215 avant ou après l'exécution par le processeur 210. Various forms of media may be involved in transporting at least one sequence of at least one instruction to the processor 210 for execution. For example, the instructions may initially be transported on a magnetic disk or solid state drive of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions over a communications link such as a fiber optic or coaxial cable or a telephone line using a modem. A modem or router local to the computer system 205 may receive the data over the communications link and convert the data into a format that can be read by the computer system 205. For example, a receiver such as a radio frequency antenna or an infrared detector may receive the data transported in a wireless or optical signal and suitable circuitry may provide the data to the I/O subsystem 220, for example by placing the data on a bus. The I/O subsystem 220 transports data to memory 225, from which the processor 210 retrieves and executes instructions. Instructions received by memory 225 may optionally be stored on memory 215 before or after execution by processor 210.
Le système informatique 205 comporte également une interface de communication 260 couplée à un bus 220. L'interface de communication 260 fournit un couplage de communication de données bidirectionnel à la ou aux liaisons réseau 265 qui sont directement ou indirectement connectées à au moins un réseau de communication, tel qu'un réseau 270 ou un nuage public ou privé sur Internet. Par exemple, l'interface de communication 260 peut être une interface de réseau « Ethernet » ®, une carte de réseau numérique à intégration de services (RNIS), un modem câble, un modem satellite ou un modem pour fournir une
connexion de communication de données à un type correspondant de ligne de communication, par exemple un câble « Ethernet »® ou un câble métallique de tout type ou une ligne à fibre optique ou une ligne téléphonique. Le réseau 270 représente largement un réseau local (dit « LAN », pour « Local Area Network »), un réseau étendu (dit « WAN », pour « Wide Area Network »), un réseau de campus, un réseau Internet, ou toute combinaison de ceux-ci. L'interface de communication 260 peut comporter une carte LAN pour fournir une connexion de communication de données à un LAN compatible, ou une interface de radiotéléphone cellulaire qui est câblée pour envoyer ou recevoir des données cellulaires selon les normes de réseau sans fil de radiotéléphone cellulaire, ou une interface de radio satellite qui est câblée pour envoyer ou recevoir des données numériques selon les normes de réseau sans fil de satellite. Dans n'importe quelle mise en œuvre de ce type, l'interface de communication 260 envoie et reçoit des signaux électriques, électromagnétiques ou optiques sur des trajets de signaux qui transportent des flux de données numériques représentant divers types d'informations. The computer system 205 also includes a communications interface 260 coupled to a bus 220. The communications interface 260 provides bidirectional data communications coupling to the one or more network links 265 that are directly or indirectly connected to at least one communications network, such as a network 270 or a public or private cloud on the Internet. For example, the communications interface 260 may be an "Ethernet"® network interface, an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem to provide a data communication connection to a corresponding type of communication line, for example an "Ethernet"® cable or a metallic cable of any type or a fiber optic line or a telephone line. The network 270 broadly represents a local area network (LAN), a wide area network (WAN), a campus network, an Internet network, or any combination thereof. The communication interface 260 may include a LAN card to provide a data communication connection to a compatible LAN, or a cellular radiotelephone interface that is wired to send or receive cellular data according to cellular radiotelephone wireless network standards, or a satellite radio interface that is wired to send or receive digital data according to satellite wireless network standards. In any such implementation, the communications interface 260 sends and receives electrical, electromagnetic, or optical signals over signal paths that carry digital data streams representing various types of information.
La liaison réseau 265 fournit typiquement une communication de données électrique, électromagnétique ou optique directement ou par l'intermédiaire d'au moins un réseau à d'autres dispositifs de données, en utilisant, par exemple, la technologie satellite, cellulaire, « Wi-Fi »® ou « BLUETOOTH »®. Par exemple, la liaison réseau 265 peut fournir une connexion à travers un réseau 270 à un ordinateur hôte 250. The network link 265 typically provides electrical, electromagnetic, or optical data communication directly or via at least one network to other data devices, using, for example, satellite, cellular, "Wi-Fi"®, or "BLUETOOTH"® technology. For example, the network link 265 may provide a connection through a network 270 to a host computer 250.
En outre, la liaison réseau 265 peut fournir une connexion par l'intermédiaire du réseau 270 ou à d'autres dispositifs informatiques via des dispositifs d'interconnexion et/ou des ordinateurs qui sont exploités par un fournisseur de services Internet (ISP) 275. Le FAI 275 fournit des services de communication de données par l'intermédiaire d'un réseau mondial de communication de données par paquets représenté par Internet 280. Un ordinateur serveur 255 peut être couplé à Internet 280. Le serveur 255 représente largement tout ordinateur, centre de données, machine virtuelle ou instance informatique virtuelle avec ou sans hyperviseur, ou ordinateur exécutant un système de programme conteneurisé tel que « DOCKER »® ou « KU BERN ETES »®. Le serveur 255 peut représenter un service numérique électronique qui est mis en œuvre à l'aide de plus d'un ordinateur ou d'une instance et auquel on accède et qu'on utilise en transmettant des demandes de services Web, des chaînes de localisateurs de ressources uniformes (dit « URL », pour « Uniform Resource Locator ») avec des paramètres dans des charges utiles HTTP (pour « Hypertext transfer protocol », traduit par « protocole de transfert hypertexte », des appels d'API (pour « application programing interface », traduit par « interface de programmation applicative »), des appels de services d'applications ou d'autres appels de services. Le système informatique 205 et le serveur 255 peuvent former des éléments d'un système informatique distribué qui
comprend d'autres ordinateurs, un cluster de traitement, une ferme de serveurs ou une autre organisation d'ordinateurs qui coopèrent pour effectuer des tâches ou exécuter des applications ou des services. Le serveur 255 peut comporter un ou plusieurs ensembles d'instructions qui sont organisés sous forme de modules, de méthodes, d'objets, de fonctions, de routines ou d'appels. Les instructions peuvent être organisées comme un ou plusieurs programmes informatiques, services de système d'exploitation ou programmes d'application, y compris des applications mobiles. Les instructions peuvent comporter un système d'exploitation et/ou un logiciel système ; une ou plusieurs bibliothèques pour prendre en charge des fonctions multimédia, de programmation ou autres ; des instructions ou des piles de protocoles de données pour mettre en œuvre des protocoles de communication TCP/IP (pour « Transmission control protocol / Internet protocol », traduit par « protocole de contrôle de transmission / protocole internet »), HTTP ou autres ; des instructions de traitement de format de fichier pour analyser ou rendre des fichiers codés en utilisant HTML (pour « Hypertext markup language », traduit par « langage de balisage hypertexte »), XML (for « Extensible markup language », traduit par « langage de balisage extensible »), JPEG (pour « Joint Photographie Experts Group », traduit par « Groupe joint d’experts photographiques), MPEG (pour « Moving picture experts group », traduit par groupe d’experts d’images en mouvement ») ou PNG (for « Portable Networks Graphie », traduit par « graphiques portables pour réseaux »); des instructions d'interface utilisateur pour rendre ou interpréter des commandes pour une interface utilisateur graphique (GUI), une interface de ligne de commande ou une interface utilisateur textuelle ; un logiciel d'application tel qu'une suite bureautique, des applications d'accès à Internet, des applications de conception et de fabrication, des applications graphiques, des applications audio, des applications de génie logiciel, des applications éducatives, des jeux ou des applications diverses. Le serveur 255 peut comprendre un serveur d'application web qui héberge une couche de présentation, une couche d'application et une couche de stockage de données telles qu'un système de base de données relationnelle utilisant un langage d'interrogation structuré (dit « SQL », pour « Structured Query Language ») ou aucun SQL, un magasin d'objets, une base de données graphique, un système de fichiers plats ou tout autre stockage de données. Further, the network link 265 may provide a connection via the network 270 or to other computing devices via interconnect devices and/or computers that are operated by an Internet service provider (ISP) 275. The ISP 275 provides data communication services via a global packet data communication network represented by the Internet 280. A server computer 255 may be coupled to the Internet 280. The server 255 broadly represents any computer, data center, virtual machine or virtual computing instance with or without a hypervisor, or computer running a containerized program system such as "DOCKER"® or "KU BERN ETES"®. The server 255 may represent an electronic digital service that is implemented using more than one computer or instance and that is accessed and used by transmitting web service requests, Uniform Resource Locator (URL) strings with parameters in Hypertext Transfer Protocol (HTTP) payloads, application programming interface (API) calls, application service calls, or other service calls. The computer system 205 and the server 255 may form elements of a distributed computing system that includes other computers, a processing cluster, a server farm, or other organization of computers that cooperate to perform tasks or run applications or services. The server 255 may include one or more sets of instructions that are organized as modules, methods, objects, functions, routines, or calls. The instructions may be organized as one or more computer programs, operating system services, or application programs, including mobile applications. The instructions may include an operating system and/or system software; one or more libraries to support multimedia, programming, or other functions; and data protocol stacks or instructions to implement TCP/IP (Transmission control protocol/Internet protocol), HTTP, or other communication protocols; file format processing instructions for parsing or rendering files encoded using HTML (for Hypertext Markup Language), XML (for Extensible Markup Language), JPEG (for Joint Photographie Experts Group), MPEG (for Moving Picture Experts Group), or PNG (for Portable Networks Graphie); user interface instructions for rendering or interpreting commands for a graphical user interface (GUI), command line interface, or text-based user interface; application software such as an office suite, Internet access applications, design and manufacturing applications, graphics applications, audio applications, software engineering applications, educational applications, games, or miscellaneous applications. The server 255 may include a web application server that hosts a presentation layer, an application layer, and a data storage layer such as a relational database system using Structured Query Language (SQL) or no SQL, an object store, a graph database, a flat file system, or other data storage.
Le système informatique 205 peut envoyer des messages et recevoir des données et des instructions, y compris du code de programme, par l'intermédiaire du ou des réseaux, de la liaison réseau 265 et de l'interface de communication 260. Dans l'exemple Internet, un serveur 255 peut transmettre un code demandé pour un programme d'application par l'intermédiaire d'Internet 280, du FAI 275, du réseau local 270 et de l'interface de communication 260. Le code reçu peut être exécuté par le processeur 210 au fur et à mesure
de sa réception, et/ou stocké dans la mémoire 215, ou dans une autre mémoire non volatile pour une exécution ultérieure. The computer system 205 may send messages and receive data and instructions, including program code, via the network(s), network link 265, and communications interface 260. In the Internet example, a server 255 may transmit requested code for an application program via the Internet 280, ISP 275, local area network 270, and communications interface 260. The received code may be executed by the processor 210 as it is executed. of its reception, and/or stored in memory 215, or in other non-volatile memory for later execution.
L'exécution d'instructions telle que décrite dans cette section peut mettre en œuvre un processus sous la forme d'une instance d'un programme informatique en cours d'exécution et constitué d'un code de programme et de son activité actuelle. Selon le système d'exploitation (dit « OS », « operating system »), un processus peut être constitué de plusieurs fils d'exécution qui exécutent des instructions simultanément. Dans ce contexte, un programme informatique est une collection passive d'instructions, tandis qu'un processus peut être l'exécution réelle de ces instructions. Plusieurs processus peuvent être associés au même programme ; par exemple, l'ouverture de plusieurs instances du même programme signifie souvent que plus d'un processus est en cours d'exécution. Le multitâche peut être mis en œuvre pour permettre à plusieurs processus de partager le processeur 210. Bien que chaque processeur 210 ou noyau du processeur exécute une seule tâche à la fois, le système informatique 205 peut être programmé pour mettre en œuvre le multitâche afin de permettre à chaque processeur de basculer entre les tâches en cours d'exécution sans avoir à attendre la fin de chaque tâche. Dans un mode de réalisation, les commutations peuvent être effectuées lorsque les tâches effectuent des opérations d’entrée/sortie, lorsqu'une tâche indique qu'elle peut être commutée, ou sur des interruptions matérielles. Le partage du temps peut être mis en œuvre pour permettre une réponse rapide aux applications interactives des utilisateurs en effectuant rapidement des commutations de contexte pour donner l'impression d'une exécution simultanée de plusieurs processus. Dans un mode de réalisation, pour des raisons de sécurité et de fiabilité, un système d'exploitation peut empêcher la communication directe entre des processus indépendants, en fournissant une fonctionnalité de communication interprocessus strictement médiatisée et contrôlée. Execution of instructions as described in this section may implement a process as an instance of a computer program that is currently executing and consists of program code and its current activity. Depending on the operating system (OS), a process may consist of multiple threads that execute instructions concurrently. In this context, a computer program is a passive collection of instructions, while a process may be the actual execution of those instructions. Multiple processes may be associated with the same program; for example, having multiple instances of the same program open often means that more than one process is currently executing. Multitasking may be implemented to allow multiple processes to share the processor 210. Although each processor 210 or processor core executes only one task at a time, the computer system 205 may be programmed to implement multitasking to allow each processor to switch between currently executing tasks without having to wait for each task to complete. In one embodiment, the switches may be performed when tasks perform input/output operations, when a task indicates that it can be switched, or upon hardware interrupts. Time sharing may be implemented to enable rapid response to user interactive applications by rapidly performing context switches to give the appearance of multiple processes running simultaneously. In one embodiment, for security and reliability reasons, an operating system may prevent direct communication between independent processes, by providing strictly mediated and controlled interprocess communication functionality.
Dans la présente description, on appelle « commande » un ensemble d’au moins un produit ayant un destinataire déterminé, on appelle « lot » un ensemble d’au moins deux produits similaires regroupés dans un packaging unique et on appelle « produit » ou « article », un objet pouvant être regroupé en lot ou en ensemble pour former une commande. In this description, the term “order” refers to a set of at least one product having a specific recipient, the term “batch” refers to a set of at least two similar products grouped together in a single packaging and the term “product” or “article” refers to an object that can be grouped together in a batch or set to form an order.
On observe, sur la figure 1 , une vue schématique d’un mode de réalisation du système 100 objet de l’invention. Ce système 100 de mise à jour d’une donnée représentative du poids d’un produit dans une base 105 de données informatique comporte : Figure 1 shows a schematic view of an embodiment of the system 100 that is the subject of the invention. This system 100 for updating data representing the weight of a product in a computer database 105 comprises:
- un capteur 110 d’une valeur représentative du poids d’un produit, - a sensor 110 with a value representative of the weight of a product,
- un module 115 horodateur, configuré pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit,
- un module 120 logiciel de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins : - a timestamp module 115, configured to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier, - a 120 software module for determining data representative of the weight of a product based on at least:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit, - a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ledit module étant configuré pour déterminer une valeur moyenne de poids captés : - a maximum validity period for capturing weight values captured for a product identifier, said module being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini, - for the minimum number of values defined,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et - within the limit of the maximum period of validity defined and
- un module 125 logiciel de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée. - a software module 125 for updating a weight value of a product in a computer database based on the average value determined.
Dans des variantes, le système 100 comporte un capteur 111 d’une référence d’un produit. Une telle référence est associée dans une base de données informatiques de produits sous la forme d’un identifiant, par exemple alphanumérique. In variants, the system 100 comprises a sensor 111 of a product reference. Such a reference is associated in a computer database of products in the form of an identifier, for example alphanumeric.
Le capteur 111 d’une référence représentative d’un lot ou d’un produit est, par exemple, un capteur d’images configuré pour détecter un code à barres bidimensionnel ou quadridimensionnel (dit « QR code », pour « Quick Response code », traduit par code à réponse rapide). The sensor 111 of a reference representative of a batch or a product is, for example, an image sensor configured to detect a two-dimensional or four-dimensional bar code (known as a “QR code”, for “Quick Response code”).
Dans des modes de réalisation préférentiels, le capteur 111 est un scanner pour codes à barres. Dans des variantes, non représentées, le capteur 111 met en œuvre un sous- système I/O 220, associant un clavier ou une souris à une interface utilisateur de manière à permettre la saisie manuelle, dans un système informatique de contrôle de lot ou de produit, d’une référence alphanumérique représentative d’un lot ou d’un produit. In preferred embodiments, the sensor 111 is a barcode scanner. In variants, not shown, the sensor 111 implements an I/O subsystem 220, associating a keyboard or a mouse with a user interface so as to allow the manual entry, in a batch or product control computer system, of an alphanumeric reference representative of a batch or a product.
Le capteur 110 d’une valeur représentative du poids d’un produit est, par exemple, une balance. Le poids d’un produit peut être associé à chaque type de produit (ou chaque référence de produit), de manière à comparer le poids théorique d’un produit et le poids capté, de manière à éviter des erreurs évidentes d’envoi de produits. La capture de la référence d’un produit et du poids dudit produit permettent une double vérification de l’identification d’un produit à envoyer. The sensor 110 of a value representative of the weight of a product is, for example, a scale. The weight of a product can be associated with each type of product (or each product reference), so as to compare the theoretical weight of a product and the weight captured, so as to avoid obvious errors in sending products. The capture of the reference of a product and the weight of said product allow a double verification of the identification of a product to be sent.
Le module 115 horodateur est, par exemple, une horloge interne du système 205 de calcul. Ce moyen 130 d’horodatage est configuré, par exemple, pour fournir une information
de date et d’horaire. Une telle information est mise en œuvre, par exemple, lors de l’actionnement d’un capteur 110 d’une valeur représentative du poids d’un produit. The time stamp module 115 is, for example, an internal clock of the computing system 205. This time stamping means 130 is configured, for example, to provide information date and time. Such information is implemented, for example, when actuating a sensor 110 of a value representative of the weight of a product.
Le module 115 horodateur peut être intégré au capteur 110 d’une valeur représentative du poids d’un produit ou à un serveur 255 informatique associé à la base 105 de données de valeurs captées de poids de produits. Le module 115 horodateur peut être un système tiers dédié avec lequel un système 205 de calcul interagit lors de la capture d’une valeur représentative du poids d’un produit par le capteur 110. The time stamp module 115 may be integrated into the sensor 110 of a value representative of the weight of a product or into a computer server 255 associated with the database 105 of captured product weight values. The time stamp module 115 may be a dedicated third-party system with which a calculation system 205 interacts when capturing a value representative of the weight of a product by the sensor 110.
Le module 120 logiciel est, par exemple, formé d’un ensemble d’instructions stockées dans une mémoire 215 d’un système 205 de calcul et configurées pour être exécutées par un processeur 210, cet ensemble d’instructions étant intégrées dans un logiciel dédié ou non. De telles instructions sont représentatives d’un algorithme de traitement programmé. Un tel algorithme est, par exemple, configuré pour réaliser au moins un des traitements suivants : The software module 120 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210, this set of instructions being integrated into dedicated software or not. Such instructions are representative of a programmed processing algorithm. Such an algorithm is, for example, configured to perform at least one of the following processing operations:
- sélection d’un nombre d’échantillons de captures de valeurs de poids, pour une même référence produit, pendant une durée ayant pour borne supérieure la date d’exécution de l’algorithme et pour borne inférieure la date d’exécution, à laquelle l’intervalle de temps de validité est soustrait, - selection of a number of samples of weight value captures, for the same product reference, for a duration having as upper limit the date of execution of the algorithm and as lower limit the date of execution, from which the validity time interval is subtracted,
- si ce nombre d’échantillons est inférieur au nombre minimum défini, sélection d’un nombre d’échantillons de captures de valeurs de poids, pour une même référence produit, sur un nombre minimal d’intervalles de temps de validité, de telle manière que ce nombre d’échantillon soit supérieur ou égal au nombre minimum défini, pendant une durée ayant pour borne supérieure la date d’exécution de l’algorithme et pour borne inférieure la date d’exécution, à laquelle le nombre minimal d’intervalles de temps de validité est soustrait et/ou - if this number of samples is less than the minimum number defined, selection of a number of samples of weight value captures, for the same product reference, over a minimum number of validity time intervals, such that this number of samples is greater than or equal to the minimum number defined, for a duration having as an upper limit the date of execution of the algorithm and as a lower limit the date of execution, from which the minimum number of validity time intervals is subtracted and/or
- si la durée (mesurée en nombre d’intervalles définis) nécessaire pour sélectionner le nombre d’échantillons de captures est supérieure à la durée maximale définie, la mise à jour du poids du produit est abandonnée. - if the duration (measured in number of defined intervals) required to select the number of capture samples is greater than the maximum duration defined, the product weight update is abandoned.
Les valeurs mises en œuvre par le module 120 logiciel, telles que : The values implemented by the 120 software module, such as:
- le nombre minimum de valeurs de poids captées pour un identifiant de produit,- the minimum number of weight values captured for a product identifier,
- l’intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - the time interval of validity of capturing weight values captured for a product identifier and/or
- la durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, peuvent être déterminées, calculables ou apprise par entraînement automatique. - the maximum validity period of capturing weight values captured for a product identifier, can be determined, calculable or learned by automatic training.
Le module 120 logiciel de détermination peut, dans des variantes, être configuré pour déterminer une autre valeur représentative d’une répartition statistique d’un échantillon de valeurs de poids captées, telle la médiane par exemple. Dans des variantes, la moyenne
déterminée par le module 120 logiciel de détermination peut être une moyenne arithmétique ou pondérée, notamment en fonction de la date de la valeur de poids captée. The determination software module 120 may, in variants, be configured to determine another value representative of a statistical distribution of a sample of captured weight values, such as the median for example. In variants, the mean determined by the 120 determination software module can be an arithmetic or weighted average, in particular depending on the date of the weight value captured.
Lorsqu’au moins une de ces valeurs est déterminée, cette valeur peut être initialisée et adaptée par un utilisateur par la mise en œuvre d’une interface homme-machine (tel un clavier et une souris associés à une interface utilisateur) associée au sous-système 220 I/O. When at least one of these values is determined, this value can be initialized and adapted by a user by the implementation of a human-machine interface (such as a keyboard and a mouse associated with a user interface) associated with the 220 I/O subsystem.
Lorsqu’au moins une de ces valeurs est calculable, une formule de calcul peut être saisie et adaptée par un utilisateur par la mise en œuvre d’une interface homme-machine (tel un clavier et une souris associés à une interface utilisateur) associée au sous-système 220 I/O. Dans des variantes, une telle formule de calcul est prédéterminée par un développeur informatique. When at least one of these values is computable, a calculation formula can be entered and adapted by a user by implementing a human-machine interface (such as a keyboard and mouse associated with a user interface) associated with the I/O subsystem 220. In variants, such a calculation formula is predetermined by a computer developer.
Dans des modes de réalisation préférentiels, le système 100 comporte un module 130 logiciel de classification automatique de produits dans la base 105 de données, associant à au moins un identifiant de produit une classe de produit, au moins une valeur parmi : In preferred embodiments, the system 100 comprises a software module 130 for automatic classification of products in the database 105, associating with at least one product identifier a product class, at least one value among:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit,- a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, mis en œuvre par le module 120 logiciel de détermination d’une donnée représentative du poids étant déterminée en fonction d’une classe de produit. - a maximum validity period for capturing weight values captured for a product identifier, implemented by the software module 120 for determining data representative of the weight being determined according to a product class.
Une telle classification peut résulter de l’application d’un algorithme, prédéterminé ou défini par un utilisateur, par exemple via la saisie d’une formule de calcul peut être saisie et adaptée par un utilisateur par la mise en œuvre d’une interface homme-machine (tel un clavier et une souris associés à une interface utilisateur) associée au sous-système 220 I/O. Such a classification may result from the application of an algorithm, predetermined or defined by a user, for example via the entry of a calculation formula which may be entered and adapted by a user by the implementation of a human-machine interface (such as a keyboard and a mouse associated with a user interface) associated with the 220 I/O subsystem.
Par exemple, la valeur représentative du nombre minimum de valeurs de poids captées pour un identifiant de produit, ledit produit appartenant à une classe de produits donnée, peut être égale à la valeur maximale entre 10 jours et la somme de l’écart maximum entre deux captures de valeurs de poids en nombre de jours calendaires et l’écart type des valeurs d’écart déterminées. For example, the representative value of the minimum number of weight values captured for a product identifier, said product belonging to a given product class, may be equal to the maximum value between 10 days and the sum of the maximum deviation between two captures of weight values in number of calendar days and the standard deviation of the determined deviation values.
Par exemple, la valeur représentative d’un intervalle de temps de validité de capture pour un identifiant de produit, ledit produit appartenant à une classe de produits donnée, peut être égale à la valeur maximale entre 5 jours et l’écart moyen entre deux captures de valeurs de poids en nombre de jours calendaires. For example, the representative value of a capture validity time interval for a product identifier, said product belonging to a given product class, may be equal to the maximum value between 5 days and the average difference between two captures of weight values in number of calendar days.
Par exemple, la durée maximale de validité pour un identifiant de produit, ledit produit appartenant à une classe de produits donnée, peut être égale à la valeur maximale entre 3 et
un nombre maximum de captures de valeurs de poids enregistrés par jour de captures de valeurs de poids. For example, the maximum validity period for a product identifier, said product belonging to a given product class, may be equal to the maximum value between 3 and a maximum number of weight value captures recorded per day of weight value captures.
Une telle classification peut correspondre, par exemple, à une classification représentative de la fréquence de capture de valeurs de poids pour différentes classes de produits. En effet, certains produits sont plus régulièrement commandés que d’autres, ce qui implique une fréquence de capture de poids plus élevés. Ainsi, pour de tels produits, la durée de l’intervalle de validité de captures à mettre en œuvre par le module 120 logiciel de détermination peut être réduite. Inversement, certains produits sont rarement commandés et donc la capture de leur poids est rare, ainsi, la durée maximale de validité de capture pour de tels produits peut être augmentée. La classification permet de répartir les produits en classes homogènes partageant en moyenne les mêmes caractéristiques statistiques. Such a classification may correspond, for example, to a classification representative of the frequency of capturing weight values for different classes of products. Indeed, some products are ordered more regularly than others, which implies a higher frequency of capturing weights. Thus, for such products, the duration of the capture validity interval to be implemented by the determination software module 120 may be reduced. Conversely, some products are rarely ordered and therefore the capture of their weight is rare, thus, the maximum duration of capture validity for such products may be increased. The classification makes it possible to divide the products into homogeneous classes sharing on average the same statistical characteristics.
Le nombre de classes de tels produits dépend de l’implémentation du système 100 et, notamment, des produits stockés dans un entrepôt particulier. Ainsi, il est complexe de déterminer, a priori, une règle de classification universelle, applicable à tout entrepôt. The number of classes of such products depends on the implementation of the system 100 and, in particular, on the products stored in a particular warehouse. Thus, it is complex to determine, a priori, a universal classification rule, applicable to any warehouse.
Pour ces raisons, dans des modes de réalisation préférentiels, le système 100 objet de l’invention comporte un module 135 d’apprentissage automatique configuré pour associer une classe de produit à au moins un identifiant de produit. For these reasons, in preferred embodiments, the system 100 which is the subject of the invention comprises a machine learning module 135 configured to associate a product class with at least one product identifier.
Un tel module 135 d’apprentissage met en œuvre, par exemple, un réseau de neurones. Un tel module 135 d’apprentissage met en œuvre, par exemple, un algorithme de classification hiérarchique dit « HCPC » (pour « Hierarchical Clustering - Partitional Clustering », traduit en français par groupement hiérarchique - groupement partitionné) qui a pour objectif d’identifier des groupes d’objets similaires dans un jeu de données. L’approche HCPC permet de combiner trois méthodes standards utilisées dans l’analyses multivariées, à savoir, les méthodes de composantes principale ACP, la classification ascendante hiérarchique et le partitionnement k-moyenne. Such a learning module 135 implements, for example, a neural network. Such a learning module 135 implements, for example, a hierarchical classification algorithm called “HCPC” (for “Hierarchical Clustering - Partitional Clustering”, translated into French as hierarchical grouping - partitioned grouping) which aims to identify groups of similar objects in a data set. The HCPC approach makes it possible to combine three standard methods used in multivariate analysis, namely, the PCA principal component methods, hierarchical ascending classification and k-means partitioning.
Le module 135 d’apprentissage utilise un historique de captures de valeurs de poids afin de permettre à l’algorithme de classification d’avoir suffisamment d’information pour caractériser le comportement de chaque produit. The learning module 135 uses a history of weight value captures to allow the classification algorithm to have enough information to characterize the behavior of each product.
Par exemple, pour établir la classification, l’algorithme prend en entrée l’ensemble des données de captures de valeurs de poids de chaque produit. Les données collectées renseignent des captures de valeurs de poids ou des constantes, par exemple : le poids réel enregistré et la date de capture. Ces données ne décrivent pas le comportement des produits, à savoir le nombre de captures de valeurs de poids par jour, le nombre de captures de valeurs de poids total ou la durée entre deux captures de valeurs de poids successives. En revanche, toutes ces informations permettent de calculer des variables ayant pour but d’identifier des
comportements et de caractériser les produits. Ainsi, une fonction de caractérisation des produits peut être implémentée. For example, to establish the classification, the algorithm takes as input all the data of weight value captures of each product. The collected data informs weight value captures or constants, for example: the actual weight recorded and the capture date. This data does not describe the behavior of the products, namely the number of weight value captures per day, the number of total weight value captures or the duration between two successive weight value captures. On the other hand, all this information makes it possible to calculate variables intended to identify behaviors and characterize products. Thus, a product characterization function can be implemented.
Cette fonction prend en entrée les données de captures de valeurs de poids la base de données et calcule les variables qui permettent de décrire au mieux les produits. Le comportement d’un produit au cours du temps, est défini dans la table ci-dessous. This function takes as input the data of weight value captures from the database and calculates the variables that best describe the products. The behavior of a product over time is defined in the table below.
Ainsi, dans des modes de réalisation particuliers, le module 135 d’apprentissage est un module de classification automatique par apprentissage configuré pour associer une classe de produit à au moins un identifiant de produit en fonction : Thus, in particular embodiments, the learning module 135 is an automatic classification module by learning configured to associate a product class with at least one product identifier based on:
- d’une durée maximale entre deux captures de valeurs de poids captées pour un identifiant de produit, - a maximum duration between two captures of weight values captured for a product identifier,
- d’une durée moyenne entre deux captures de valeurs de poids captées pour un identifiant de produit, - an average duration between two captures of weight values captured for a product identifier,
- d’un nombre total de captures de valeurs de poids pour un identifiant de produit,- a total number of weight value captures for a product identifier,
- d’un nombre maximal, par jour au cours duquel au moins une capture de poids est réalisée, de captures de valeurs de poids captées pour un identifiant de produit, - a maximum number, per day during which at least one weight capture is carried out, of captures of weight values captured for a product identifier,
- d’un nombre moyen, par jour au cours duquel au moins une capture de poids est réalisée, de captures de valeurs de poids captées pour un identifiant de produit, - an average number, per day during which at least one weight capture is carried out, of captures of weight values captured for a product identifier,
- d’un nombre moyen, par jour, de captures de valeurs de poids captées pour un identifiant de produit, - an average number, per day, of captures of weight values captured for a product identifier,
- d’une proportion de nombre de jours au cours duquel au moins une capture de poids est réalisée parmi le nombre de jours durant une durée déterminée, - a proportion of the number of days during which at least one weight capture is carried out among the number of days during a given period,
- d’un nombre de jours durant lequel au moins trois captures de poids sont réalisées,- a number of days during which at least three weight captures are carried out,
- d’une proportion de nombre de jours au cours duquel au moins trois captures de poids sont réalisées parmi le nombre de jours au cours duquel au moins une capture de poids est réalisée, - a proportion of the number of days during which at least three weight captures are carried out among the number of days during which at least one weight capture is carried out,
- d’un nombre de jours successifs durant lesquels au moins trois captures de poids sont réalisées et/ou - a number of successive days during which at least three weight captures are carried out and/or
- d’une durée entre le premier jour et le dernier jour au cours desquels au moins une capture de poids sont réalisées. - a duration between the first day and the last day during which at least one weight capture is carried out.
L’algorithme de classification peut, ensuite, procéder au regroupement des produits partageant en moyenne les mêmes caractéristiques. Les classes sont ainsi définies par des variables discriminantes, les valeurs de ces variables pouvant être de type moyenne et écart- type. Ces variables permettent de connaître le comportement de chaque classe, afin d’adapter le paramétrage de la mise à jour du poids de référence de chaque produit, en fonction de ses caractéristiques. The classification algorithm can then proceed to group products that share the same characteristics on average. The classes are thus defined by discriminating variables, the values of these variables being able to be of the mean and standard deviation type. These variables make it possible to know the behavior of each class, in order to adapt the setting of the update of the reference weight of each product, according to its characteristics.
Par exemple, pour une classe donnée, la variable ‘’Ecart_moyen" qui représente l’écart moyen en jour calendaire entre deux captures de valeurs de poids, s’élève à 22 jours. Cela
signifie qu’en moyenne, au moins une capture de valeur de poids est réalisée tous les 22 jours. L’écart entre les captures de valeur de poids, comme toutes les autres variables, est un paramètre important dans la caractérisation des classes de produit. For example, for a given class, the variable "Ecart_moyen" which represents the average difference in calendar days between two captures of weight values, amounts to 22 days. This means that on average, at least one weight value capture is performed every 22 days. The deviation between weight value captures, like all other variables, is an important parameter in the characterization of product classes.
Chaque classe de produit se comporte différemment et ne peut être paramétrée de la même manière. C’est pourquoi, le module 120 logiciel de détermination met préférentiellement en œuvre une règle de paramétrage en fonction d’un indicateur de classe de produits associé aux produits dans la base de données. Dans ces variantes, une fois les paramètres de mise à jour établis, l’algorithme de mise à jour peut être exécuté. Each product class behaves differently and cannot be parameterized in the same way. This is why the determination software module 120 preferentially implements a parameterization rule based on a product class indicator associated with the products in the database. In these variants, once the update parameters have been established, the update algorithm can be executed.
Le nombre de classes de produits peut être déterminé automatiquement, manuellement ou semi-automatiquement, c’est-à-dire automatiquement et ajusté par un utilisateur. Par défaut, une classe de produit peut être affectée à tout nouvel identifiant de produit ajouté à la base de données informatique. The number of product classes can be determined automatically, manually or semi-automatically, i.e. automatically and adjusted by a user. By default, a product class can be assigned to any new product identifier added to the computer database.
Le module 135 d’apprentissage automatique peut être mis en œuvre périodiquement, selon une période définie manuellement ou automatiquement, de 15 jours, par exemple. Le module 135 d’apprentissage automatique peut être mis en œuvre manuellement ou automatiquement, par exemple en fonction d’un nombre d’identifiants de produits ajoutés à la base de données informatique et non encore classifiés ou classifié par défaut. The machine learning module 135 may be implemented periodically, according to a manually or automatically defined period, of 15 days, for example. The machine learning module 135 may be implemented manually or automatically, for example according to a number of product identifiers added to the computer database and not yet classified or classified by default.
Dans des variantes, un identifiant de produit ajouté à la base de données informatique est affecté à une classe de produit donné puis, une analyse en composantes principales, pour extraire et de visualiser les informations importantes contenues dans une table de données multivariées, est réalisée. Puis, le calcul de la métrique « cos2 » sur chaque axe est réalisée. Cette métrique exprime la qualité de représentation du produit sur les dimensions de l’analyse en composantes principales. Si la somme des deux métriques « cos2 » est supérieure à 0,5, la fonction accepte le nouveau produit et procède à la prédiction de la classe de celui-ci. Sinon, le produit reste dans la classe affectée par défaut en attendant d’acquérir plus de données. In variants, a product identifier added to the computer database is assigned to a given product class and then a principal component analysis is performed to extract and visualize the important information contained in a multivariate data table. Then, the calculation of the “cos2” metric on each axis is performed. This metric expresses the quality of representation of the product on the dimensions of the principal component analysis. If the sum of the two “cos2” metrics is greater than 0.5, the function accepts the new product and proceeds to predict its class. Otherwise, the product remains in the class assigned by default while waiting to acquire more data.
Le module 125 logiciel de mise à jour est, par exemple, formé d’un ensemble d’instructions stockées dans une mémoire 215 d’un système 205 de calcul et configurées pour être exécutées par un processeur 210, cet ensemble d’instructions étant intégrées dans un logiciel dédié ou non. Le module 125 logiciel de mise à jour est configuré pour éditer ou ajouter une entrée représentative du poids déterminé par le module 120 de détermination d’un poids pour un produit. A l’issue de l’exécution d’une mise à jour par le module 125 logiciel de mise à jour, le poids théorique, auquel est comparé le poids capté d’un produit pour en assurer la conformité, est mis à jour. The update software module 125 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210, this set of instructions being integrated into dedicated software or not. The update software module 125 is configured to edit or add an entry representative of the weight determined by the module 120 for determining a weight for a product. At the end of the execution of an update by the update software module 125, the theoretical weight, to which the captured weight of a product is compared to ensure its conformity, is updated.
Dans des modes de réalisation particuliers, le procédé 100 objet de l’invention comporte un module 140 logiciel de filtrage de valeurs de poids captées en fonction d’une
valeur limite de validité de la capture, les valeurs filtrées étant mises en œuvre par le module 120 logiciel de détermination et/ou par le module 135 d’apprentissage automatique. In particular embodiments, the method 100 which is the subject of the invention comprises a software module 140 for filtering captured weight values according to a capture validity limit value, the filtered values being implemented by the determination software module 120 and/or by the automatic learning module 135.
Le module 140 logiciel de filtrage est, par exemple, formé d’un ensemble d’instructions stockées dans une mémoire 215 d’un système 205 de calcul et configurées pour être exécutées par un processeur 210. Un tel module 140 logiciel de filtrage peut être de type manuel ou automatique. Un module 140 logiciel de filtrage de type manuel met en œuvre, par exemple, une interface homme-machine (tel un clavier et une souris associés à une interface utilisateur) associée au sous-système 220 I/O. Dans cette interface utilisateur, un opérateur peut fixer une valeur seuil de validité pour les valeurs de poids capté. Un module 140 logiciel de filtrage de type automatique met en œuvre, par exemple, un algorithme informatique de traitement statistique configuré pour filtrer les valeurs aberrantes d’un échantillon. The filtering software module 140 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210. Such a filtering software module 140 may be of the manual or automatic type. A manual type filtering software module 140 implements, for example, a human-machine interface (such as a keyboard and a mouse associated with a user interface) associated with the I/O subsystem 220. In this user interface, an operator can set a validity threshold value for the captured weight values. An automatic type filtering software module 140 implements, for example, a statistical processing computer algorithm configured to filter the outliers of a sample.
Un tel filtre peut se baser sur les paramètres suivants, par exemple : Such a filter can be based on the following parameters, for example:
- une valeur représentative du poids capté moyen, pour un produit donné, sur une période donnée (par exemple deux ans), et - a value representative of the average captured weight, for a given product, over a given period (for example two years), and
- une valeur représentative de l’écart type du poids capté moyen qui représente la dispersion du poids réel d’un produit par rapport au poids capté moyen pour ce type de produit. - a value representative of the standard deviation of the average captured weight which represents the dispersion of the actual weight of a product compared to the average captured weight for this type of product.
Une valeur de poids capté peut ainsi être filtrée si cette valeur de poids captée remplit la condition suivante : A captured weight value can thus be filtered if this captured weight value meets the following condition:
Abs Poids réel — poids moyen * quantité)
, 0,9 * poids moyen)Abs Actual weight — average weight * quantity) , 0.9 * average weight)
Dans laquelle « qnorm » correspond à l’inverse de la fonction cumulative de distribution de l’échantillon. Dans des variantes, une valeur de poids est filtrée si cette valeur est inférieure à 0. Dans des variantes, une valeur de poids est filtrée si la quantité d’un produit associé est inférieure ou égale à 0. Dans des variantes, une valeur de poids est filtrée si la condition ci- dessus associée à une valeur de poids d’un produit associé est vraie. Where "qnorm" is the inverse of the cumulative distribution function of the sample. In variants, a weight value is filtered if that value is less than 0. In variants, a weight value is filtered if the quantity of an associated product is less than or equal to 0. In variants, a weight value is filtered if the above condition associated with a weight value of an associated product is true.
La figure 4 illustre, par exemple, pour un produit donné, un ensemble de valeurs de poids 405 captées, définies en abscisse par une date de capture et en ordonnée par une valeur de poids captée. On observe, également, une valeur de poids 410 située en dehors d’un intervalle de validité défini par une moyenne 415 de poids capté durant une période de temps déterminée et d’une marge de tolérance 420 déterminée, appliquée en soustraction et en addition à la moyenne 415. Figure 4 illustrates, for example, for a given product, a set of captured weight values 405, defined on the abscissa by a capture date and on the ordinate by a captured weight value. We also observe a weight value 410 located outside a validity interval defined by an average 415 of weight captured during a given period of time and a given tolerance margin 420, applied in subtraction and addition to the average 415.
Une telle tolérance peut être définie par la formule suivante : Such tolerance can be defined by the following formula:
Tolérance = Constante + (PoidsRéf. Groupe * Tolérance%, PoidsRéf * %Unitaire)Tolerance = Constant + (GroupRefWeight * Tolerance%, RefWeight * Unit %)
Dans laquelle : In which:
- constante représente une erreur due à une imprécision de mesure, - constant represents an error due to measurement imprecision,
- PoidsRéf.Groupe représente le poids d’un produit, dans une forme groupée,
- Tolérance% représente le pourcentage de tolérance pour les produits dans une forme groupée, - WeightRef.Group represents the weight of a product, in a grouped form, - Tolerance% represents the tolerance percentage for products in a grouped form,
- PoidsRéf représente le poids unitaire d’un produit et - WeightRef represents the unit weight of a product and
- %Unitaire représente le pourcentage de tolérance pour les produits unitaires. - %Unit represents the tolerance percentage for unit products.
Un tel module de filtrage a notamment pour objectif de ne pas considérer, dans un échantillon, des valeurs dites « forcées », c’est-à-dire surchargées informatiquement par un opérateur d’entrepôt, notamment en cas d’inadéquation entre le poids théorique et le poids capté d’un produit. Le nombre de valeurs forcées est une métrique de performance du procédé 100 objet de l’invention. En effet, une valeur aberrante, par rétroaction, dégrade le caractère adaptatif de la mise à jour des valeurs de poids. Such a filtering module aims in particular to not consider, in a sample, so-called “forced” values, i.e. values overloaded by computer by a warehouse operator, in particular in the event of a mismatch between the theoretical weight and the captured weight of a product. The number of forced values is a performance metric of the method 100 which is the subject of the invention. Indeed, an aberrant value, by feedback, degrades the adaptive nature of the updating of the weight values.
Une valeur de poids est dite « forcée » si cette valeur remplit la condition suivante : Abs Poids réel — poids théorique * quantité > ToléranceA weight value is said to be "forced" if this value meets the following condition: Abs Actual weight — theoretical weight * quantity > Tolerance
Dans des modes de réalisation particuliers, le procédé 100 objet de l’invention comporte un module 145 de mise à jour du module 140 logiciel de filtrage, configuré pour mettre à jour la valeur limite de validité, en fonction d’un paramètre statistique représentatif d’une distribution de valeurs de poids captées et de valeurs de poids de référence associées à au moins un identifiant de produit. Le module 145 de mise à jour est, par exemple, formé d’un ensemble d’instructions stockées dans une mémoire 215 d’un système 205 de calcul et configurées pour être exécutées par un processeur 210, cet ensemble d’instructions étant intégrées dans un logiciel dédié ou non. In particular embodiments, the method 100 which is the subject of the invention comprises a module 145 for updating the filtering software module 140, configured to update the validity limit value, according to a statistical parameter representative of a distribution of captured weight values and reference weight values associated with at least one product identifier. The update module 145 is, for example, formed of a set of instructions stored in a memory 215 of a calculation system 205 and configured to be executed by a processor 210, this set of instructions being integrated into dedicated software or not.
Dans des modes de réalisation particuliers, le paramètre statistique est formé de la somme de : In particular embodiments, the statistical parameter is formed from the sum of:
- la variance, dite « intra », d’une distribution de valeurs de poids captées associées à un identifiant de produit et - the variance, called “intra”, of a distribution of captured weight values associated with a product identifier and
- la variance, dite « inter », d’une distribution de valeurs de poids captées associées à un identifiant de produit de quantité supérieure à un. - the variance, called “inter”, of a distribution of captured weight values associated with a product identifier of quantity greater than one.
Ce paramètre statistique, surnommé « variance totale », est représenté par l’équation suivante : This statistical parameter, nicknamed “total variance,” is represented by the following equation:
V arianceTotaie = V arianceintra+ V arianceinter Total V ariance = Intra V ariance + Inter V ariance
Dans laquelle : In which:
- Varianceinter représente la variabilité du poids de toute la population de captures de valeurs de poids sélectionnées lors de la période de mise à jour et - Inter variance represents the variability of the weight of the entire population of captures of selected weight values during the update period and
- Varianceintra représente la variance intra-groupe qui décrit la variance de valeurs de poids d’un produit donné de quantité supérieure à 1. - Intra variance represents the intra-group variance which describes the variance of weight values of a given product with quantity greater than 1.
Cette variance peut être mise en œuvre pour déterminer l’intervalle de tolérance de valeurs de poids selon l’équation suivante :
This variance can be implemented to determine the tolerance interval of weight values according to the following equation:
Dans laquelle : In which:
- Xi représente le poids théorique, ou de référence, mis à jour, - Xi represents the updated theoretical, or reference, weight,
- Variance Totaie représente la variance totale des valeurs de poids captées avant mise à jour, - Total Variance represents the total variance of the weight values captured before updating,
- n représente le nombre de valeurs de poids captées sur une période d’échantillonnage déterminée, par exemple 6 mois et - n represents the number of weight values captured over a given sampling period, for example 6 months and
- a représente une erreur de prédiction supposée ou tolérée, par exemple 1 %. - a represents an assumed or tolerated prediction error, for example 1%.
Alternativement, cette variance peut être mise en œuvre pour déterminer l’intervalle de tolérance de valeurs de poids selon l’équation suivante :
Alternatively, this variance can be implemented to determine the tolerance interval of weight values according to the following equation:
Dans laquelle : In which:
- CoeffVar représente le coefficient d’ajustement de la variance, par exemple égal à 2, visant à surestimer la variance intra-groupe afin de s’approcher au mieux de la variance totale. - Coeff Var represents the variance adjustment coefficient, for example equal to 2, aiming to overestimate the intra-group variance in order to get as close as possible to the total variance.
Pour les produits de faible rotation, il arrive que la variance soit estimée sur une faible population de valeurs de poids captées, par exemple : sur six mois d’historique, seules 3 valeurs sont disponibles. La variance estimée est souvent très faible et donne un intervalle de tolérance très restreint, ce qui peut favoriser l’apparition de forçages non justifiés lors des prochaines mises à jour. Pour éviter cela, une tolérance de sécurité, correspondant à une proportion du poids de référence d’un produit, peut être mise en place. Cette sécurité permet d’avoir une tolérance minimale acceptable. Sa valeur par défaut est de 5% le poids de référence d’un produit. For low turnover products, the variance may be estimated on a small population of captured weight values, for example: over six months of history, only 3 values are available. The estimated variance is often very low and gives a very narrow tolerance interval, which can encourage the appearance of unjustified forcing during future updates. To avoid this, a safety tolerance, corresponding to a proportion of the reference weight of a product, can be set up. This safety allows for a minimum acceptable tolerance. Its default value is 5% of the reference weight of a product.
La tolérance de sécurité peut être paramétrable, en fonction de l’écart maximal absolu, selon l’équation suivante par exemple :
The safety tolerance can be configurable, depending on the absolute maximum deviation, according to the following equation for example:
La détermination de l’intervalle de tolérance de valeurs de poids peut être calculée selon l’équation suivante : The determination of the tolerance interval of weight values can be calculated according to the following equation:
+ Tolérance de sécurité)
On observe, sur la figure 3, schématiquement, une succession d’étapes particulières du procédé 300 objet de l’invention. Ce procédé 300 de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique comporte : + Safety tolerance) In Figure 3, we observe schematically a succession of particular steps of the method 300 which is the subject of the invention. This method 300 for updating data representing the weight of a product in a computer database comprises:
- une étape 305 de capture d’une valeur représentative du poids d’un produit,- a step 305 of capturing a value representative of the weight of a product,
- une étape 310 d’horodatage, pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit, - a timestamp step 310, for associating a timestamp value with a weight value capture of a product represented, in a database, by a product identifier,
- une étape 315 de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins : - a step 315 of determining data representative of the weight of a product as a function of at least:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit,- a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ladite étape étant configurée pour déterminer une valeur moyenne de poids captés :- a maximum validity period for capturing weight values captured for a product identifier, said step being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini, - for the minimum number of values defined,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et - within the limit of the maximum period of validity defined and
- une étape 320 de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée. - a step 320 of updating a weight value of a product in a computer database based on the determined average value.
Des modes de réalisation particuliers des étapes du procédé 300 objet de l’invention sont décrits en regard des figures 1 et 2. Particular embodiments of the steps of the method 300 which is the subject of the invention are described with reference to figures 1 and 2.
On observe également, en figure 2, schématiquement, un mode de réalisation particulier du système 200 objet de l’invention. Ce système 200 de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique comporte : We also observe, in Figure 2, schematically, a particular embodiment of the system 200 which is the subject of the invention. This system 200 for updating data representative of the weight of a product in a computer database comprises:
- au moins un système 205 de calcul, comportant au moins un processeur 210 et au moins une mémoire 215, et - at least one calculation system 205, comprising at least one processor 210 and at least one memory 215, and
- des instructions, stockées dans une mémoire et qui, quand exécutées par le système de calcul, entraînent la réalisation par le système de calcul de : - instructions, stored in a memory and which, when executed by the computing system, cause the computing system to carry out:
- une étape de capture d’une valeur représentative du poids d’un produit, - a step of capturing a value representative of the weight of a product,
- une étape d’horodatage, pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit, - a timestamp step, to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier,
- une étape de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins :
- un nombre minimum de valeurs de poids captées pour un identifiant de produit, - a step of determining data representative of the weight of a product based on at least: - a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ladite étape étant configurée pour déterminer une valeur moyenne de poids captés : - a maximum validity period for capturing weight values captured for a product identifier, said step being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini, - for the minimum number of values defined,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et - within the limit of the maximum period of validity defined and
- une étape de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée. - a step of updating a weight value of a product in a computer database based on the average value determined.
On observe, sur la figure 5, une succession 500 d’étapes particulière complémentaire ou subsidiaire à celle du procédé 300. Ce procédé 500 permet le comptage dynamique de produits, la validation automatique d’une ligne de préparation de commande et/ou une maintenance préventive d’une balance du dispositif de pesage. Le procédé 500 comporte : In Figure 5, we observe a succession 500 of particular steps complementary or subsidiary to that of the method 300. This method 500 allows the dynamic counting of products, the automatic validation of an order preparation line and/or preventive maintenance of a scale of the weighing device. The method 500 comprises:
- une étape 505 de sélection d’un fichier de préparation d’une commande reçu, fichier comportant au moins une ligne représentative d’un identifiant d’un produit et d’une quantité de ce produit dans cette commande, - a step 505 of selecting a file for preparing a received order, file comprising at least one line representing an identifier of a product and a quantity of this product in this order,
- une étape 510 de pose, par un opérateur, d’un produit sur un capteur 110 d’une valeur représentative du poids d’un produit, par exemple une balance, du dispositif, - a step 510 of placing, by an operator, a product on a sensor 110 of a value representative of the weight of a product, for example a scale, of the device,
- une étape 515 de capture d’une valeur représentative du poids du produit, - a step 515 of capturing a value representative of the weight of the product,
- une étape 520 de détermination, par le système de calcul 205, du nombre de produits sur le capteur 110, par division du poids capté par le poids d’un produit dans la base de données informatique 105, - a step 520 of determining, by the calculation system 205, the number of products on the sensor 110, by dividing the weight captured by the weight of a product in the computer database 105,
- une étape 525 d’affichage, par le dispositif de sortie 235, du nombre de produits identiques au produit déjà posé sur le capteur 110, restant à poser sur ce capteur pour atteindre le nombre de produits indiqué dans la préparation de commande en cours de traitement, avec, si ce nombre est supérieur ou égal à un, retour à l’étape 510, - a step 525 of displaying, by the output device 235, the number of products identical to the product already placed on the sensor 110, remaining to be placed on this sensor to reach the number of products indicated in the order preparation currently being processed, with, if this number is greater than or equal to one, return to step 510,
- lorsque le nombre de produits identiques d’une ligne de la préparation de commande a été atteint, une étape 530 de validation de cette ligne de commande, - when the number of identical products on a line of order preparation has been reached, a step 530 of validation of this order line,
- s’il reste au moins une ligne de produits qui n’a pas encore été validée dans cette préparation de commande, une étape 535 de passage automatique à un autre produit dont la ligne de produits qui n’a pas encore été validée, choisie selon un critère de sélection prédéterminé, par exemple le produit identifié dans la ligne suivante dans la préparation de
Tl commande ou le produit identifié par l’une des lignes de commande qui n’ont pas encore été validée qui se trouve le plus proche du dispositif, - if there remains at least one product line that has not yet been validated in this order preparation, a step 535 of automatic passage to another product including the product line that has not yet been validated, chosen according to a predetermined selection criterion, for example the product identified in the following line in the order preparation The order or product identified by one of the order lines that has not yet been validated which is closest to the device,
- s’il ne reste pas de ligne de la commande à valider, une étape 540 de validation de la commande et de passage à une autre préparation de commande, s’il y en a au moins une à préparer. - if there is no line of the order remaining to validate, a step 540 of validation of the order and passage to another order preparation, if there is at least one to prepare.
Les étapes 545 à 555, qui vont maintenant être décrites sont réalisées sur déclenchement (par l’exploitant ou le fournisseur du dispositif) ou de manière régulière, pour permettre une maintenance préventive du dispositif. Au cours d’une étape 545, le logiciel calcule, pour au moins un capteur 110, une déviation moyenne entre ses mesures de poids et les valeurs de poids pour les mêmes produits, mises à jour comme exposé en regard de la figure 3. Cette déviation moyenne est exprimée en unité de poids et/ou en pourcentage. Au cours d’une étape 550, on compare la valeur absolue de la déviation moyenne du capteur considéré avec une valeur limite prédéterminée, par exemple un gramme et/ou un millième. Si la déviation moyenne est supérieure à cette valeur limite prédéterminée, au cours d’une étape 555, on émet un message représentatif de ce dépassement, préférentiellement en identifiant chaque capteur concerné et, optionnellement, une information représentative du résultat du calcul de la déviation moyenne pour chaque capteur concerné (préférentiellement, ce résultat). On note que les étapes 545 à 555 peuvent, chacune, être effectuées localement ou à distance.
Steps 545 to 555, which will now be described, are performed upon triggering (by the operator or supplier of the device) or on a regular basis, to allow preventive maintenance of the device. During a step 545, the software calculates, for at least one sensor 110, an average deviation between its weight measurements and the weight values for the same products, updated as explained with respect to FIG. 3. This average deviation is expressed in weight units and/or as a percentage. During a step 550, the absolute value of the average deviation of the sensor in question is compared with a predetermined limit value, for example one gram and/or one thousandth. If the average deviation is greater than this predetermined limit value, during a step 555, a message representative of this excess is sent, preferably by identifying each sensor concerned and, optionally, information representative of the result of the calculation of the average deviation for each sensor concerned (preferably, this result). Note that steps 545 to 555 can each be performed locally or remotely.
Claims
1. Système (100) de mise à jour d’une donnée représentative du poids d’un produit dans une base (105) de données informatique, caractérisé en ce qu’il comporte : 1. System (100) for updating data representative of the weight of a product in a computer database (105), characterized in that it comprises:
- un capteur (110) d’une valeur représentative du poids d’un produit, - a sensor (110) of a value representative of the weight of a product,
- un module (115) horodateur, configuré pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit, - a timestamp module (115), configured to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier,
- un module (120) logiciel de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins : - a software module (120) for determining data representative of the weight of a product based on at least:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit, - a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ledit module étant configuré pour déterminer une valeur moyenne de poids captés : - a maximum validity period for capturing weight values captured for a product identifier, said module being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini, - for the minimum number of values defined,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et - within the limit of the maximum period of validity defined and
- un module (125) logiciel de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée. - a software module (125) for updating a weight value of a product in a computer database based on the determined average value.
2. Système (100) selon la revendication 1 , qui comporte un module (130) logiciel de classification automatique de produits dans la base (105) de données, associant à au moins un identifiant de produit une classe de produit et au moins une valeur parmi : 2. System (100) according to claim 1, which comprises a software module (130) for automatic classification of products in the database (105), associating with at least one product identifier a product class and at least one value among:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit,- a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, mis en œuvre par le module (120) logiciel de détermination d’une donnée représentative du poids étant déterminée en fonction d’une classe de produit. - a maximum validity period for capturing weight values captured for a product identifier, implemented by the software module (120) for determining data representative of the weight being determined according to a product class.
3. Système (100) selon la revendication 2, qui comporte un module (135) d’apprentissage automatique configuré pour associer une classe de produit à au moins un identifiant de produit.
3. The system (100) of claim 2, which comprises a machine learning module (135) configured to associate a product class with at least one product identifier.
4. Système (100) selon la revendication 3, dans lequel le module (135) d’apprentissage est un module de classification automatique par apprentissage configuré pour associer une classe de produit à au moins un identifiant de produit en fonction : 4. System (100) according to claim 3, in which the learning module (135) is an automatic classification module by learning configured to associate a product class with at least one product identifier according to:
- d’une durée maximale entre deux captures de valeurs de poids captées pour un identifiant de produit, - a maximum duration between two captures of weight values captured for a product identifier,
- d’une durée moyenne entre deux captures de valeurs de poids captées pour un identifiant de produit, - an average duration between two captures of weight values captured for a product identifier,
- d’un nombre total de captures de valeurs de poids captées pour un identifiant de produit, - a total number of weight value captures captured for a product identifier,
- d’un nombre maximal, par jour au cours duquel au moins une capture de poids est réalisée, de captures de valeurs de poids captées pour un identifiant de produit, - a maximum number, per day during which at least one weight capture is carried out, of captures of weight values captured for a product identifier,
- d’un nombre moyen, par jour au cours duquel au moins une capture de poids est réalisée, de captures de valeurs de poids captées pour un identifiant de produit, - an average number, per day during which at least one weight capture is carried out, of captures of weight values captured for a product identifier,
- d’un nombre moyen, par jour, de captures de valeurs de poids captées pour un identifiant de produit, - an average number, per day, of captures of weight values captured for a product identifier,
- d’une proportion de nombre de jours au cours duquel au moins une capture de poids est réalisée parmi le nombre de jours durant une durée déterminée, - a proportion of the number of days during which at least one weight capture is carried out among the number of days during a given period,
- d’un nombre de jours durant lequel au moins trois captures de poids sont réalisées,- a number of days during which at least three weight captures are carried out,
- d’une proportion de nombre de jours au cours duquel au moins trois captures de poids sont réalisées parmi le nombre de jours au cours duquel au moins une capture de poids est réalisée, - a proportion of the number of days during which at least three weight captures are carried out among the number of days during which at least one weight capture is carried out,
- d’un nombre de jours successifs durant lesquels au moins trois captures de poids sont réalisées et/ou - a number of successive days during which at least three weight captures are carried out and/or
- d’une durée entre le premier jour et le dernier jour au cours desquels au moins une capture de poids sont réalisées. - a duration between the first day and the last day during which at least one weight capture is carried out.
5. Système (100) selon l’une des revendications 1 à 4, qui comporte un module (140) logiciel de filtrage de valeurs de poids captées en fonction d’une valeur limite de validité de la capture, les valeurs filtrées étant mises en œuvre par le module (120) logiciel de détermination et/ou par le module (135) d’apprentissage automatique. 5. System (100) according to one of claims 1 to 4, which comprises a software module (140) for filtering captured weight values according to a capture validity limit value, the filtered values being implemented by the determination software module (120) and/or by the automatic learning module (135).
6. Système (100) selon la revendication 5, qui comporte un module (145) de mise à jour du module (140) logiciel de filtrage, configuré pour mettre à jour la valeur limite de validité, en fonction d’un paramètre statistique représentatif d’une distribution de valeurs de poids captées et de valeurs de poids de référence associées à au moins un identifiant de produit.
6. System (100) according to claim 5, which comprises a module (145) for updating the filtering software module (140), configured to update the validity limit value, as a function of a statistical parameter representative of a distribution of captured weight values and reference weight values associated with at least one product identifier.
7. Système (100) selon la revendication 6, dans lequel la valeur limite de validité est mise à jour en fonction d’un intervalle de tolérance, déterminé par l’équation suivante : i 7. System (100) according to claim 6, in which the validity limit value is updated according to a tolerance interval, determined by the following equation: i
Intervalle Tolérance = Xi + Quantile -a/2 x Var lance Totaie x 11 + n dans laquelle : Tolerance Interval = Xi + Quantile -a /2 x Var launches Total x 11 + n in which:
- xt représente le poids théorique, ou de référence, mis à jour, pour un type de produit,- xt represents the updated theoretical or reference weight for a product type,
- Variance Totaie représente la variance totale des valeurs de poids captées avant mise à jour pour un type de produit, - Total Variance ie represents the total variance of the weight values captured before updating for a product type,
- n représente le nombre de valeurs de poids captées sur une période d’échantillonnage déterminée et - n represents the number of weight values captured over a given sampling period and
- a représente une erreur de prédiction supposée ou tolérée. - a represents an assumed or tolerated prediction error.
8. Système (100) selon l’une des revendication 5 à 7, dans lequel le module (140) logiciel de filtrage est configuré pour filtrer une valeur de poids captée en fonction de : 8. System (100) according to one of claims 5 to 7, in which the filtering software module (140) is configured to filter a captured weight value according to:
- une valeur représentative du poids capté moyen, pour un produit donné, sur une période donnée et - a value representative of the average captured weight, for a given product, over a given period and
- une valeur représentative de l’écart type du poids capté moyen, qui représente la dispersion du poids réel d’un produit par rapport au poids capté moyen pour ce type de produit. - a value representative of the standard deviation of the average captured weight, which represents the dispersion of the actual weight of a product compared to the average captured weight for this type of product.
9. Procédé (300, 500) de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique, caractérisé en ce qu’il comporte : 9. Method (300, 500) for updating data representative of the weight of a product in a computer database, characterized in that it comprises:
- une étape (305) de capture d’une valeur représentative du poids d’un produit,- a step (305) of capturing a value representative of the weight of a product,
- une étape (310) d’horodatage, pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit, - a timestamp step (310), for associating a timestamp value with a weight value capture of a product represented, in a database, by a product identifier,
- une étape (315) de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins : - a step (315) of determining data representative of the weight of a product as a function of at least:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit, - a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capturing weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ladite étape étant configurée pour déterminer une valeur moyenne de poids captés : - a maximum validity period for capturing weight values captured for a product identifier, said step being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini, - for the minimum number of values defined,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et
- une étape (320) de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée. - within the limit of the maximum period of validity defined and - a step (320) of updating a weight value of a product in a computer database based on the determined average value.
10. Procédé (300, 500) selon la revendication 9, qui comporte, de plus : 10. Method (300, 500) according to claim 9, which further comprises:
- une étape (505) de sélection d’un fichier de préparation d’une commande reçu, fichier comportant au moins une ligne représentative d’un identifiant d’un produit et d’une quantité de ce produit dans cette commande, - a step (505) of selecting a file for preparing a received order, a file comprising at least one line representing an identifier of a product and a quantity of this product in this order,
- une étape (510) de pose, par un opérateur, d’un produit sur un capteur (110) d’une valeur représentative du poids d’un produit, - a step (510) of placing, by an operator, a product on a sensor (110) of a value representative of the weight of a product,
- une étape (515) de capture d’une valeur représentative du poids du produit,- a step (515) of capturing a value representative of the weight of the product,
- une étape (520) de détermination, par un système de calcul (205), du nombre de produits sur le capteur (110), par division du poids capté par le poids d’un produit dans la base de données informatique (105), - a step (520) of determining, by a calculation system (205), the number of products on the sensor (110), by dividing the weight captured by the weight of a product in the computer database (105),
- une étape (525) d’affichage, par le dispositif de sortie (235), du nombre de produits identiques au produit déjà posé sur le capteur, restant à poser sur ce capteur pour atteindre le nombre de produits indiqué dans la préparation de commande en cours de traitement. - a step (525) of displaying, by the output device (235), the number of products identical to the product already placed on the sensor, remaining to be placed on this sensor to reach the number of products indicated in the order preparation currently being processed.
11. Procédé (300, 500) selon la revendication 10, qui comporte, de plus : 11. The method (300, 500) of claim 10, which further comprises:
- lorsque le nombre de produits d’une ligne de la préparation de commande a été atteint, une étape (530) de validation de cette ligne de commande, - when the number of products on a line of order preparation has been reached, a step (530) of validation of this order line,
- s’il reste au moins une ligne de produits qui n’a pas encore été validée dans cette préparation de commande, une étape (535) de passage automatique à un autre produit d’une autre ligne de produits qui n’a pas encore été validée. - if there remains at least one product line that has not yet been validated in this order preparation, a step (535) of automatic transition to another product from another product line that has not yet been validated.
12. Procédé (300, 500) selon la revendication 11 , dans lequel, au cours de l’étape (535) de passage automatique à un autre produit, cet autre produit est choisie selon un critère de sélection prédéterminé, par exemple le produit identifié dans la ligne suivante dans la préparation de commande ou le produit identifié par l’une des lignes de commande qui n’ont pas encore été validée qui se trouve le plus proche du dispositif. 12. Method (300, 500) according to claim 11, in which, during the step (535) of automatically switching to another product, this other product is chosen according to a predetermined selection criterion, for example the product identified in the following line in the order preparation or the product identified by one of the order lines which have not yet been validated which is located closest to the device.
13. Procédé (300, 500) selon l’une des revendications 9 à 12, qui comporte, de plus :13. Method (300, 500) according to one of claims 9 to 12, which further comprises:
- une étape (545) de calcul, pour au moins un capteur (110), d’une déviation moyenne entre ses mesures de poids et les valeurs de poids pour les mêmes produits, mises à jour,- a step (545) of calculating, for at least one sensor (110), an average deviation between its weight measurements and the weight values for the same products, updated,
- une étape (550) de comparaison de la valeur absolue de la déviation moyenne du capteur considéré avec une valeur limite prédéterminée, et - a step (550) of comparing the absolute value of the mean deviation of the sensor considered with a predetermined limit value, and
- si la déviation moyenne est supérieure à cette valeur limite prédéterminée, une étape (555) d’émission d’un message représentatif de ce dépassement. - if the average deviation is greater than this predetermined limit value, a step (555) of sending a message representative of this excess.
14. Procédé (300, 500) selon la revendication 13, dans lequel le message comporte un identifiant de chaque capteur (110) concerné et le résultat du calcul de la déviation moyenne pour chaque capteur.
14. Method (300, 500) according to claim 13, in which the message comprises an identifier of each sensor (110) concerned and the result of the calculation of the average deviation for each sensor.
15. Système (200) de mise à jour d’une donnée représentative du poids d’un produit dans une base de données informatique, caractérisé en ce qu’il comporte : 15. System (200) for updating data representative of the weight of a product in a computer database, characterized in that it comprises:
- au moins un système (205) de calcul, comportant au moins un processeur (210) et au moins une mémoire (215), et - at least one calculation system (205), comprising at least one processor (210) and at least one memory (215), and
- des instructions, stockées dans une mémoire et qui, quand exécutées par le système de calcul, entraînent la réalisation par le système de calcul de : - instructions, stored in a memory and which, when executed by the computing system, cause the computing system to carry out:
- une étape de capture d’une valeur représentative du poids d’un produit, - a step of capturing a value representative of the weight of a product,
- une étape d’horodatage, pour associer une valeur d’horodatage à une capture de valeur de poids d’un produit représenté, dans une base de données, par un identifiant de produit, - a timestamp step, to associate a timestamp value with a weight value capture of a product represented, in a database, by a product identifier,
- une étape de détermination d’une donnée représentative du poids d’un produit en fonction d’au moins : - a step of determining data representative of the weight of a product based on at least:
- un nombre minimum de valeurs de poids captées pour un identifiant de produit, - a minimum number of weight values captured for a product identifier,
- un intervalle de temps de validité de capture de valeurs de poids captées pour un identifiant de produit et/ou - a time interval of validity of capture of weight values captured for a product identifier and/or
- une durée maximale de validité de capture de valeurs de poids captées pour un identifiant de produit, ladite étape étant configurée pour déterminer une valeur moyenne de poids captés : - a maximum validity period for capturing weight values captured for a product identifier, said step being configured to determine an average value of captured weights:
- pour le nombre minimum de valeurs défini, - for the minimum number of values defined,
- situées dans un nombre minimum d’intervalles successifs de temps de validité défini et - located within a minimum number of successive intervals of defined validity time and
- dans la limite de la durée maximale de validité définie et - within the limit of the maximum period of validity defined and
- une étape de mise à jour d’une valeur de poids d’un produit dans une base de données informatique en fonction de la valeur moyenne déterminée.
- a step of updating a weight value of a product in a computer database based on the average value determined.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2301558A FR3146001A1 (en) | 2023-02-20 | 2023-02-20 | SYSTEMS AND METHOD FOR UPDATING DATA REPRESENTING THE WEIGHT OF A PRODUCT IN A COMPUTER DATABASE |
FRFR2301558 | 2023-02-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024175596A1 true WO2024175596A1 (en) | 2024-08-29 |
Family
ID=86851745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2024/054291 WO2024175596A1 (en) | 2023-02-20 | 2024-02-20 | Systems and method for updating an item of data representative of the weight of a product in a computer database |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3146001A1 (en) |
WO (1) | WO2024175596A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR220E (en) | 1898-02-03 | 1902-11-21 | Jensen | Improvements with shears, wrenches, pliers and other similar tools |
US20080217108A1 (en) | 2007-03-06 | 2008-09-11 | Power Monitors, Inc. | Method and apparatus for a drive-thru product delivery verifier |
-
2023
- 2023-02-20 FR FR2301558A patent/FR3146001A1/en active Pending
-
2024
- 2024-02-20 WO PCT/EP2024/054291 patent/WO2024175596A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR220E (en) | 1898-02-03 | 1902-11-21 | Jensen | Improvements with shears, wrenches, pliers and other similar tools |
US20080217108A1 (en) | 2007-03-06 | 2008-09-11 | Power Monitors, Inc. | Method and apparatus for a drive-thru product delivery verifier |
Also Published As
Publication number | Publication date |
---|---|
FR3146001A1 (en) | 2024-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263241B2 (en) | Systems and methods for predicting actionable tasks using contextual models | |
US11870741B2 (en) | Systems and methods for a metadata driven integration of chatbot systems into back-end application services | |
US11356345B2 (en) | Networking data analysis in a visual spreadsheet | |
EP2800048A1 (en) | Generalized contextual intelligence platform | |
US10700935B1 (en) | Automatic configuration and operation of complex systems | |
DK2353142T3 (en) | SYSTEMS AND PROCEDURES FOR SOCIAL BASED CORRECTION OF POSITION IMAGES | |
US10761965B2 (en) | Detecting method calls based on stack trace data | |
EP3471356B1 (en) | Device and method for acquiring meter values associated with a calculation task | |
EP3846046A1 (en) | Method and system for processing data for the preparation of a data set | |
US12061962B2 (en) | Using unsupervised machine learning to produce interpretable routing rules | |
US12056586B2 (en) | Data drift impact in a machine learning model | |
FR3084181A1 (en) | METHOD FOR COORDINATING A PLURALITY OF EQUIPMENT MANAGEMENT SERVERS | |
EP3846091A1 (en) | Method and system for design of a predictive model | |
US20230315763A1 (en) | Interactive adaptation of machine learning models for time series data | |
WO2024175596A1 (en) | Systems and method for updating an item of data representative of the weight of a product in a computer database | |
US10839260B1 (en) | Consistent distributed edge models via controlled dropout model training | |
FR3146000A3 (en) | SYSTEMS AND METHOD FOR UPDATING DATA REPRESENTING THE WEIGHT OF A PRODUCT IN A COMPUTER DATABASE | |
FR3018933A1 (en) | METHOD FOR DETERMINING THE STATE OF AN AIRCRAFT EQUIPMENT | |
EP3506566A1 (en) | Method and device for remote monitoring of multiple connected objects | |
US11522625B1 (en) | Predicting regional viewership for broadcast media events | |
US20210097487A1 (en) | Approach for Cloud EMR Communication Via a Content Parsing Engine and a Storage Service | |
WO2019025744A1 (en) | Computer system for displaying the logistical path of entities over time | |
FR3146531A3 (en) | DEVICE AND METHOD FOR CHECKING THE INTEGRITY AND/OR CONFORMITY OF A LOGISTICAL PREPARATION OF AN ORDER | |
AU2009243525A1 (en) | Network-based collaborative image filtering and backup | |
FR3148345A3 (en) | METHOD AND DEVICE FOR PREDICTING LOCAL NETWORK CONNECTIVITY DEMAND |
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: 24706120 Country of ref document: EP Kind code of ref document: A1 |