IP Library Granted Patent US 11,468,180
Granted Patent B2
US 11,468,180 · App. 16/836,816 · Granted Oct 11, 2022

Data privacy protection on cloud-based optimization systems

Inventors: Wei-Peng Chen (Fremont, CA); Mehdi Bahrami (Fremont, CA); Junhee Park (Okemos, MI)
Assignee: FUJITSU LIMITED
G06F21/604
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,468,180
App. No.
16/836,816
Granted
Oct 11, 2022
Kind
B2
Abstract

According to an aspect of an embodiment, operations may include receiving a first input corresponding to a selection of a combinatorial optimization problem and receiving a set of datapoints as input. The operations may further include generating a first quadratic unconstrained binary optimization (QUBO) formulation based on an objective function for the combinatorial optimization problem and the received set of datapoints. The operations may further include selecting a first privacy setting and encoding the first QUBO formulation based on the selected privacy setting to generate a second QUBO formulation. The operations may further include submitting the generated second QUBO formulation to an optimization solver machine and receiving a first solution of the second QUBO formulation. The operations may further include decoding the first solution to produce a second solution and publishing an output of the combinatorial optimization problem on a user device based on the second solution.

Claims (104)

1. A method, comprising:

receiving a first input corresponding to a selection of a first combinatorial optimization problem;

receiving a set of datapoints as input for the first combinatorial optimization problem which comprises a first objective function and one or more constraint functions;

generating a first quadratic unconstrained binary optimization (QUBO) formulation based on the first objective function and the received set of datapoints;

selecting a first privacy setting for the generated first QUBO formulation;

encoding, based on the selected first privacy setting, the first QUBO formulation to generate a second QUBO formulation;

submitting, via an application programming interface (API) call, the generated second QUBO formulation to an optimization solver machine;

receiving, from the optimization solver machine, a first solution of the submitted second QUBO formulation;

decoding the first solution to produce a second solution of the first QUBO formulation; and

publishing an output of the first combinatorial optimization problem on a user device based on the second solution.

2. The method according to claim 1 , further comprising:

displaying a set of user-selectable templates corresponding to a set of combinatorial optimization problems onto an electronic user interface (UI) of the user device; and

receiving the first input comprising a selection of a first user-selectable template associated with the first combinatorial optimization problem,

wherein the selection of the first user-selectable template corresponds to the selection of the first combinatorial optimization problem.

3. The method according to claim 1 , wherein the first combinatorial optimization problem is one of a graph coloring problem, a clique problem, an independent set problem, a clique cover problem, a minimax matching problem, a Knapsack problem, a sub-set sum problem, a bin packing problem, a cutting stock problem, a number partition problem, a Hamiltonian cycle problem, a travelling salesman problem, a direct feedback set problem, a vehicle routing problem, a job shop scheduling problem, a generalized assignment problem, a quadratic assignment problem, a set packing problem, a set partition problem, a set covering problem, or a K-Plex problem.

4. The method according to claim 1 , further comprising:

determining the first objective function and a first set of constraints associated with the first combinatorial optimization problem;

displaying the determined first objective function and the determined first set of constraints onto an electronic User Interface (UI) of the user device;

receiving a second input corresponding to a modification to one or more of the displayed first objective function and the displayed first set of constraints through the electronic UI; and

generating the first QUBO formulation further based on the received second input.

5. The method according to claim 4 , wherein the first input corresponds to one or more of:

addition of a constraint to the determined first set of constraints,

deletion of at least one constraint from the determined first set of constraints,

modification of a first constraint of the determined first set of constraints, or

modification of the determined first objective function.

6. The method according to claim 1 , wherein the encoding comprises:

selecting a first penalty term of the generated first QUBO formulation;

randomly sampling a range of penalty values to assign a first penalty value to the selected first penalty term; and

generating the second QUBO formulation based on the assigning the first penalty value.

7. The method according to claim 1 , wherein the encoding comprises:

determining a first set of binary decision variables of the generated first QUBO formulation;

updating the first QUBO formulation by:

appending one or more redundant binary decision variables to the determined first set of binary decision variables of the first QUBO formulation; and

randomly assigning a binary value to each of the appended one or more binary decision variables; and

generating the second QUBO formulation by recalculating a Q-matrix of the updated first QUBO formulation.

8. The method according to claim 7 , wherein the encoding further comprises:

adding one or more constraints or penalty terms to the updated first QUBO formulation based on the assigned binary value; and

generating the second QUBO formulation by recalculating the Q-matrix of the updated first QUBO formulation after the adding.

9. The method according to claim 7 , wherein the decoding the first solution comprises removing the appended one or more binary variables from the first solution to produce the second solution of the first QUBO formulation.

10. The method according to claim 1 , wherein the encoding comprises:

determining a first set of binary decision variables of the generated first QUBO formulation;

updating the first QUBO formulation by arranging an initial sequence of the first set of binary decision variables of the generated first QUBO formulation according to a random sequence setting;

generating the second QUBO formulation by recalculating a Q-matrix of the updated first QUBO formulation; and

storing the random sequence setting in memory associated with the user device.

11. The method according to claim 10 , wherein the decoding the first solution comprises:

retrieving the random sequence setting from the memory;

rearranging the first set of binary decision variables of the first solution back to the initial sequence based on the retrieved random sequence setting; and

producing the second solution based on the rearranging.

12. The method according to claim 1 , wherein the encoding comprises:

determining a first set of binary decision variables of the generated first QUBO formulation;

updating the first QUBO formulation by:

appending one or more redundant binary decision variables to the determined first set of binary decision variables of the first QUBO formulation; and

randomly assigning a binary value to each of the appended one or more binary decision variables;

adding one or more constraints or penalty terms to the updated first QUBO formulation based on the assigned binary value;

after the adding, modifying the updated first QUBO formulation by arranging an initial sequence of the first set of binary decision variables and the appended one or more redundant binary decision variables according to a random sequence setting;

generating the second QUBO formulation by recalculating a Q-matrix of the modified first QUBO formulation; and

storing the random sequence setting in memory associated with the user device.

13. The method according to claim 12 , wherein the decoding the first solution comprises:

retrieving the random sequence setting from the memory;

rearranging the first set of binary decision variables and the appended one or more binary decision variables of the first solution back to the initial sequence based on the retrieved random sequence setting;

after the rearranging, removing the appended one or more binary variables from the first solution; and

producing the second solution based on the removing.

14. The method according to claim 1 , further comprising precluding a submission of information describing the first combinatorial optimization problem to the optimization solver machine.

15. A non-transitory computer-readable storage medium configured to store instructions that, in response to being executed, cause a system to perform operations, the operations comprising:

receiving a first input corresponding to a selection of a first combinatorial optimization problem;

receiving a set of datapoints as input for the first combinatorial optimization problem which comprises a first objective function and one or more constraint functions;

generating a first quadratic unconstrained binary optimization (QUBO) formulation based on the first objective function and the received set of datapoints;

selecting a first privacy setting for the generated first QUBO formulation;

encoding, based on the selected first privacy setting, the first QUBO formulation to generate a second QUBO formulation;

submitting, via an application programming interface (API) call, the generated second QUBO formulation to an optimization solver machine;

receiving, from the optimization solver machine, a first solution of the submitted second QUBO formulation;

decoding the first solution to produce a second solution of the first QUBO formulation; and

publishing an output of the combinatorial optimization problem on a user device based on the second solution.

16. The non-transitory computer-readable storage medium according to claim 15 , further comprising:

determining the first objective function and a first set of constraints associated with the first combinatorial optimization problem;

displaying the determined first objective function and the determined first set of constraints onto an electronic User Interface (UI) of the user device;

receiving a second input corresponding to a modification to one or more of the displayed first objective function and the displayed first set of constraints through the electronic UI; and

generating the first QUBO formulation further based on the received second input.

17. The non-transitory computer-readable storage medium according to claim 15 , wherein the encoding comprises:

selecting a first penalty term of the generated first QUBO formulation;

randomly sampling a range of penalty values to assign a first penalty value to the selected first penalty term; and

generating the second QUBO formulation based on the assigning the first penalty value.

18. The non-transitory computer-readable storage medium according to claim 15 , wherein the encoding comprises:

determining a first set of binary decision variables of the generated first QUBO formulation;

updating the first QUBO formulation by:

appending one or more redundant binary decision variables to the determined first set of binary decision variables of the first QUBO formulation; and

randomly assigning a binary value to each of the appended one or more binary decision variables; and

generating the second QUBO formulation by recalculating a Q-matrix of the updated first QUBO formulation.

19. The non-transitory computer-readable storage medium according to claim 15 , wherein the encoding comprises:

determining a first set of binary decision variables of the generated first QUBO formulation;

updating the first QUBO formulation by arranging an initial sequence of the first set of binary decision variables of the generated first QUBO formulation according to a random sequence setting;

generating the second QUBO formulation by recalculating a Q-matrix of the updated first QUBO formulation; and

storing the random sequence setting in memory associated with the user device.

20. A system, comprising:

a processor configured to:

receive a first input corresponding to a selection of a first combinatorial optimization problem;

receive a set of datapoints as input for the first combinatorial optimization problem which comprises a first objective function and one or more constraint functions;

generate a first quadratic unconstrained binary optimization (QUBO) formulation based on the first objective function and the received set of datapoints;

select a first privacy setting for the generated first QUBO formulation;

encode, based on the selected first privacy setting, the first QUBO formulation to generate a second QUBO formulation;

submit, via an application programming interface (API) call, the generated second QUBO formulation to an optimization solver machine;

receive, from the optimization solver machine, a first solution of the submitted second QUBO formulation;

decode the first solution to produce a second solution of the first QUBO formulation; and

publish an output of the combinatorial optimization problem on a user device based on the second solution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2020
From: CHEN, WEI-PENG; BAHRAMI, MEHDI; PARK, JUNHEE
To: FUJITSU LIMITED
Reel/Frame 052468/0589 →
Continuity (1)
Related Publication 20210303704A1 · Sep 30, 2021