# 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 opt`

from blueqat import vqe

`#to qubo matrix`

E = 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 = 4`

result = vqe.Vqe(vqe.QaoaAnsatz(E, step)).run()

print(result.most_common(5))

finally we have

`from blueqat import opt`

from blueqat import vqe

`#to qubo matrix`

E = 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 = 4`

result = 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.

**Blueqat/Blueqat**

*Quantum Computer Library for Everyone. Contribute to Blueqat/Blueqat development by creating an account on GitHub.*github.com

#### 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)