Standardizing a file format for QBM exchange and interoperability
Techniques for implementing a standardized file container format for a QBM problem instance are disclosed. Initially, a QBM problem instance comprising a defined objective function is accessed. The QBM problem instance is compiled. A file is generated, and this file is structured in accordance with a standardized container file format. The standardized container file format defines one or more fields for compiled QBM problem instance data and one or more fields for QBM problem instance data. The file is populated by (i) populating the fields for the compiled QBM problem instance data with a composite data structure generated during the compilation process and (ii) populating the fields for the QBM problem instance data with metadata describing the composite data structure.
1 . A method comprising:
accessing a quadratic binary model (QBM) problem instance comprising a defined objective function;
compiling the QBM problem instance, resulting in consolidation of the following into a composite data structure: (i) the defined objective function, (ii) a constraint for the QBM problem instance defined by the objective function, (iii) a variable for the QBM problem instance defined by the objective function, and (iv) a coefficient for the variable of the defined objective function, wherein the composite data structure is a single symmetric matrix;
generating a file that is structured in accordance with a standardized container file format, wherein the standardized container file format is structured to accommodate a payload, which includes the single symmetric matrix, and wherein the standardized container file format defines a schema that specifies one or more fields for compiled QBM problem instance data, one or more fields for QBM problem instance data, and fields for metadata describing how the payload is to be parsed and interpreted, such that the file is structured, in accordance with the standardized container file format, to include the metadata and the payload and such that the metadata within the file provides context on how to solve the QBM problem instance that is described in the payload; and
populating the file by (i) populating the one or more fields for the compiled QBM problem instance data with the composite data structure, (ii) populating the one or more fields for the QBM problem instance data with metadata describing the composite data structure, (iii) the payload, and (iv) the metadata.
2 . The method of claim 1 , wherein the standardized container file format of the file enables the file to be processed by multiple different types of vendor quantum annealer devices.
3 . The method of claim 1 , wherein the QBM problem instance is compiled into a quadratic unconstrained binary optimization (QUBO) model or an Ising model.
4 . The method of claim 1 , wherein the standardized container file format is defined using a Binary JavaScript Object Notation (BSON) schema.
5 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for a QBM name.
6 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for a QBM format.
7 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for a QBM type.
8 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for a symmetric cryptographic algorithm.
9 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for a digital signature using an asymmetric public-key cryptosystem.
10 . The method of claim 1 , wherein the optional metadata includes-populating the file to include the metadata includes populating the file to include a field for a checksum algorithm.
11 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for a checksum hash.
12 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for matrix density data.
13 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for compiler data.
14 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a field for a compression method.
15 . The method of claim 1 , wherein populating the file to include the metadata includes populating the file to include a corresponding field for all of a QBM name, a QBM format, and a QBM type, and
wherein the metadata includes a corresponding field for a cryptographic algorithm, a digital signature, a checksum algorithm, a checksum hash, a density value, a compiler data, and a compression method.
16 . One or more hardware storage devices that store instructions that are executable by one or more processors of a computer system to cause the computer system to:
access a quadratic binary model (QBM) problem instance comprising a defined objective function;
compile the QBM problem instance, resulting in consolidation of the following into a composite data structure: (i) the defined objective function, (ii) a constraint for the QBM problem instance defined by the objective function, (iii) a variable for the QBM problem instance defined by the objective function, and (iv) a coefficient for the variable of the defined objective function, wherein the composite data structure is a single symmetric matrix;
generate a file that is structured in accordance with a standardized container file format, wherein the standardized container file format is structured to accommodate a payload, which includes the single symmetric matrix, and wherein the standardized container file format defines a schema that specifies one or more fields for compiled QBM problem instance data, one or more fields for QBM problem instance data, and fields for metadata describing how the payload is to be parsed and interpreted, such that the file is structured, in accordance with the standardized container file format, to include the metadata and the payload and such that the metadata within the file provides context on how to solve the QBM problem instance that is described in the payload;
populate the file by (i) populating the one or more fields for the compiled QBM problem instance data with the composite data structure, (ii) populating the one or more fields for the QBM problem instance data with metadata describing the composite data structure, (iii) the payload, and (iv) the metadata; and
transmit the file to a vendor quantum annealer node.
17 . A computer system comprising:
one or more processors; and
one or more hardware storage devices that store instructions that are executable by the one or more processors to cause the computer system to:
access a quadratic binary model (QBM) problem instance comprising a defined objective function;
compile the QBM problem instance, resulting in consolidation of the following into a composite data structure: (i) the defined objective function, (ii) a constraint for the QBM problem instance defined by the objective function, (iii) a variable for the QBM problem instance defined by the objective function, and (iv) a coefficient for the variable of the defined objective function, wherein the composite data structure is a single symmetric matrix;
generate a file that is structured in accordance with a standardized container file format, wherein the standardized container file format is structured to accommodate a payload, which includes the single symmetric matrix, and wherein the standardized container file format defines a schema that specifies one or more fields for compiled QBM problem instance data, one or more fields for QBM problem instance data, and fields for metadata describing how the payload is to be parsed and interpreted, such that the file is structured, in accordance with the standardized container file format, to include the metadata and the payload and such that the metadata within the file provides context on how to solve the QBM problem instance that is described in the payload;
populate the file by (i) populating the one or more fields for the compiled QBM problem instance data with the composite data structure, (ii) populating the one or more fields for the QBM problem instance data with metadata describing the composite data structure, (iii) the payload, and (iv) the metadata; and
transmit the file to a vendor quantum annealer node.