Tối ưu hóa bằng Lôgic lượng tử
Aug 27 2020
Có thể giải quyết loại tối ưu hóa sau đây bằng Máy tính lượng tử không?
Minimize
5*x1 - 7*x2
binary
x1
x2
Nếu có, có thể có mã mẫu bằng cách sử dụng QISKitkhông?
Trả lời
2 StefanWoerner Aug 27 2020 at 14:14
Qiskit có một mô-đun tối ưu hóa và bạn có thể tìm thấy các hướng dẫn minh họa chức năng của nó tại đây .
Để giải quyết ví dụ bạn đã đăng, ví dụ: với Thuật toán tối ưu hóa gần đúng lượng tử (QAOA), bạn có thể thực hiện như sau:
from qiskit import Aer
from qiskit.optimization import QuadraticProgram
from qiskit.aqua.algorithms import QAOA
from qiskit.optimization.algorithms import MinimumEigenOptimizer
# construct optimization problem
qp = QuadraticProgram()
qp.binary_var('x1')
qp.binary_var('x2')
qp.minimize(linear=[5, -7])
# initialize optimizer
qaoa_mes = QAOA(quantum_instance=Aer.get_backend('statevector_simulator'))
qaoa = MinimumEigenOptimizer(qaoa_mes)
# solve problem
result = qaoa.solve(qp)
print(result)
mà in:
optimal function value: -7.0
optimal value: [0. 1.]
status: SUCCESS
Mô-đun tối ưu hóa của Qiskit cũng cung cấp các thuật toán tối ưu hóa lượng tử khác cho các chương trình bậc hai và bạn có thể tìm thấy mô tả chi tiết hơn tại đây .