# Binary Integer Linear Programming on QAOA using Blueqat

### Introduction

BIL(Binary Integer Linear Programming) is to find out maximum number of binary qubits x, satisfy Sx=b and maximize c⋅x.

### Cost function

The cost function is

### Example

Let’s solve an example. When x1,x2,x3 satisfy this,

Let’s find out combination of x1,x2,x3 to maximize,

### Blueqat

Try to solve on blueqat

``pip install blueqat``

opt.optm is making the QUBO matrix directly from the equation.

``from blueqat import optfrom blueqat import vqe``
``#to qubo matrixE = opt.optm("(3*q0+2*q1+q2-3)^2+(5*q0+2*q1+3*q2-5)^2-2*(q0+2*q1+q2)",3)``

and convert it to pauli operator on qaoa

``E = opt.pauli(E)``

and decide the step params as 4

``step = 4result = vqe.Vqe(vqe.QaoaAnsatz(E, step)).run()print(result.most_common(5))``

finally we have

``from blueqat import optfrom blueqat import vqe``
``#to qubo matrixE = opt.optm("(3*q0+2*q1+q2-3)^2+(5*q0+2*q1+3*q2-5)^2-2*(q0+2*q1+q2)",3)E = opt.pauli(E)``
``step = 4result = vqe.Vqe(vqe.QaoaAnsatz(E, step)).run()print(result.most_common(5))``
``#=>(((0, 1, 1), 0.8571008889203714), ((1, 1, 0), 0.08134053938905932), ((0, 1, 0), 0.031757569458734695), ((1, 0, 0), 0.011712997948251888), ((1, 0, 1), 0.010846834513550044))``

Let’s .run() it and we have 011 as the best answer.

x1=0,x2=1,x3=1 is the best answer to solve this BIL.

### What is Blueqat?

Blueqat is an open source library for quantum computer.

#### How to install Blueqat?

Blueqat is provided as Python (ver 3.6+) library. You can install by pip.

`pip install blueqat`

The overlayed state has shifted so that 0 and 1 come to q2 in about half probability.

If you have any questions or suggestions, please feel free to contact us by our Slack community. (Join from here)