{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Improving Variational Quantum Optimization using CVaR" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "\n", "This notebook shows how to use the Conditional Value at Risk (CVaR) objective function introduced in [1] within the variational quantum optimization algorithms provided by [Qiskit Algorithms](https://qiskit.org/ecosystem/algorithms/). Particularly, it is shown how to setup the `MinimumEigenOptimizer` using `SamplingVQE` accordingly. \n", "For a given set of shots with corresponding objective values of the considered optimization problem, the CVaR with confidence level $\\alpha \\in [0, 1]$ is defined as the average of the $\\alpha$ best shots.\n", "Thus, $\\alpha = 1$ corresponds to the standard expected value, while $\\alpha=0$ corresponds to the minimum of the given shots, and $\\alpha \\in (0, 1)$ is a tradeoff between focusing on better shots, but still applying some averaging to smoothen the optimization landscape.\n", "\n", "\n", "## References\n", "\n", "[1] [P. Barkoutsos et al., *Improving Variational Quantum Optimization using CVaR,* Quantum 4, 256 (2020).](https://quantum-journal.org/papers/q-2020-04-20-256/)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from qiskit.circuit.library import RealAmplitudes\n", "from qiskit_algorithms.optimizers import COBYLA\n", "from qiskit_algorithms import NumPyMinimumEigensolver, SamplingVQE\n", "from qiskit_algorithms.utils import algorithm_globals\n", "from qiskit.primitives import Sampler\n", "from qiskit_optimization.converters import LinearEqualityToPenalty\n", "from qiskit_optimization.algorithms import MinimumEigenOptimizer\n", "from qiskit_optimization.translators import from_docplex_mp\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from docplex.mp.model import Model" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "algorithm_globals.random_seed = 123456" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Portfolio Optimization\n", "In the following we define a problem instance for portfolio optimization as introduced in [1].
" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# prepare problem instance\n", "n = 6 # number of assets\n", "q = 0.5 # risk factor\n", "budget = n // 2 # budget\n", "penalty = 2 * n # scaling of penalty term" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# instance from [1]\n", "mu = np.array([0.7313, 0.9893, 0.2725, 0.8750, 0.7667, 0.3622])\n", "sigma = np.array(\n", " [\n", " [0.7312, -0.6233, 0.4689, -0.5452, -0.0082, -0.3809],\n", " [-0.6233, 2.4732, -0.7538, 2.4659, -0.0733, 0.8945],\n", " [0.4689, -0.7538, 1.1543, -1.4095, 0.0007, -0.4301],\n", " [-0.5452, 2.4659, -1.4095, 3.5067, 0.2012, 1.0922],\n", " [-0.0082, -0.0733, 0.0007, 0.2012, 0.6231, 0.1509],\n", " [-0.3809, 0.8945, -0.4301, 1.0922, 0.1509, 0.8992],\n", " ]\n", ")\n", "\n", "# or create random instance\n", "# mu, sigma = portfolio.random_model(n, seed=123) # expected returns and covariance matrix" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# create docplex model\n", "mdl = Model(\"portfolio_optimization\")\n", "x = mdl.binary_var_list(range(n), name=\"x\")\n", "objective = mdl.sum([mu[i] * x[i] for i in range(n)])\n", "objective -= q * mdl.sum([sigma[i, j] * x[i] * x[j] for i in range(n) for j in range(n)])\n", "mdl.maximize(objective)\n", "mdl.add_constraint(mdl.sum(x[i] for i in range(n)) == budget)\n", "\n", "# case to\n", "qp = from_docplex_mp(mdl)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "objective function value: 1.27835\n", "variable values: x_0=1.0, x_1=1.0, x_2=0.0, x_3=0.0, x_4=1.0, x_5=0.0\n", "status: SUCCESS\n" ] } ], "source": [ "# solve classically as reference\n", "opt_result = MinimumEigenOptimizer(NumPyMinimumEigensolver()).solve(qp)\n", "print(opt_result.prettyprint())" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# we convert the problem to an unconstrained problem for further analysis,\n", "# otherwise this would not be necessary as the MinimumEigenSolver would do this\n", "# translation automatically\n", "linear2penalty = LinearEqualityToPenalty(penalty=penalty)\n", "qp = linear2penalty.convert(qp)\n", "_, offset = qp.to_ising()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Minimum Eigen Optimizer using SamplingVQE" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# set classical optimizer\n", "maxiter = 100\n", "optimizer = COBYLA(maxiter=maxiter)\n", "\n", "# set variational ansatz\n", "ansatz = RealAmplitudes(n, reps=1)\n", "m = ansatz.num_parameters\n", "\n", "# set sampler\n", "sampler = Sampler()\n", "\n", "# run variational optimization for different values of alpha\n", "alphas = [1.0, 0.50, 0.25] # confidence levels to be evaluated" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha = 1.0:\n", "objective function value: 1.2783500000000174\n", "variable values: x_0=1.0, x_1=1.0, x_2=0.0, x_3=0.0, x_4=1.0, x_5=0.0\n", "status: SUCCESS\n", "\n", "alpha = 0.5:\n", "objective function value: 1.2783500000000174\n", "variable values: x_0=1.0, x_1=1.0, x_2=0.0, x_3=0.0, x_4=1.0, x_5=0.0\n", "status: SUCCESS\n", "\n", "alpha = 0.25:\n", "objective function value: 1.2783500000000174\n", "variable values: x_0=1.0, x_1=1.0, x_2=0.0, x_3=0.0, x_4=1.0, x_5=0.0\n", "status: SUCCESS\n", "\n" ] } ], "source": [ "# dictionaries to store optimization progress and results\n", "objectives = {alpha: [] for alpha in alphas} # set of tested objective functions w.r.t. alpha\n", "results = {} # results of minimum eigensolver w.r.t alpha\n", "\n", "# callback to store intermediate results\n", "def callback(i, params, obj, stddev, alpha):\n", " # we translate the objective from the internal Ising representation\n", " # to the original optimization problem\n", " objectives[alpha].append(np.real_if_close(-(obj + offset)))\n", "\n", "\n", "# loop over all given alpha values\n", "for alpha in alphas:\n", "\n", " # initialize SamplingVQE using CVaR\n", " vqe = SamplingVQE(\n", " sampler=sampler,\n", " ansatz=ansatz,\n", " optimizer=optimizer,\n", " aggregation=alpha,\n", " callback=lambda i, params, obj, stddev: callback(i, params, obj, stddev, alpha),\n", " )\n", "\n", " # initialize optimization algorithm based on CVaR-SamplingVQE\n", " opt_alg = MinimumEigenOptimizer(vqe)\n", "\n", " # solve problem\n", " results[alpha] = opt_alg.solve(qp)\n", "\n", " # print results\n", " print(\"alpha = {}:\".format(alpha))\n", " print(results[alpha].prettyprint())\n", " print()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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kZWVhbFjx8LNzQ3e3t4cb2Qwxcv2hQsXNK5VVVXh8uXLsLW1hZubG9zd3TnOyGCVlZUAgLt372q9fvfuXZiZmcHS0pK/06jZGTKmQkJCkJCQgBMnTmDo0KFq7SniiEfLG6XXoQqkVVVVleDj49PgQedXr15ts/5R+1JTU6M8g2zSpEmNnhnFQ1qpJWg7B08QON7IcIpzPLds2aJWvmrVKgGAMG3aNGUZxxkZateuXQIAwd/fX+Og888++0wAIAQHByvLONZIX+3hoHORIAiCfiEhaXPkyBGEhYXB2toaU6dOhb29Pfbt24dr167ho48+Us73JmpMbGwsVq5cCTs7O8TExCh3+1I1btw4BAQEAKj7i1BwcDAyMzMxatQo9OvXD+np6UhKSkL//v2RmpoKiUTSyt8FtXdRUVHYtm0b0tLSEBQUpCzneCNDZWdnY9CgQbhz5w6ef/555VS5n3/+GV5eXjh16hTc3d0BcJyR4WpqajB8+HAcPXoUHTt2xNixY+Hk5IT09HT8/PPPkEgkSElJUS6d4VgjXXz11Vc4fvw4AOD3339Heno6goOD8cQTTwCo26F1xowZAAwbUzNnzsRXX30Ff39/PP/887h9+zZ2794NOzs7pKWloUePHvp1WO+QkOp1+vRp4bnnnhMcHBwEiUQiDBgwQEhISGjrblE7o8icNPTx6F+NioqKhLffflvw9PQULC0tha5duwoLFiwQZDJZ23wT1O7Vl8ETBI43Mlxubq4QFRUluLu7C5aWloKnp6fw5ptvCvn5+Rp1Oc7IUBUVFcLatWuFwMBAwcbGRrCwsBA8PDyEadOmCX/88YdGfY41akxj72aRkZFq9fUdUzU1NcLGjRsFf39/QSwWCx06dBCmTJkiXL582aD+MoNHRERERERkInhMAhERERERkYlggEdERERERGQiGOARERERERGZCAZ4REREREREJoIBHhERERERkYlggEdERERERGQiGOARERERERGZCAZ4REREREREJoIBHhERtQs5OTkQiUSIiopq6640i/j4eIhEIsTHx7d1V4iIyIQwwCMionYrNDQUIpGorbuhlakFpERE1D5YtHUHiIiIdOHh4YELFy7A0dGxrbvSLF566SUEBQVBKpW2dVeIiMiEMMAjIqJ2wdLSEn5+fm3djWbj6OhoMsEqEREZD07RJCKiduHRKY8ikQipqanKzxUfj06J/O233zB16lRIpVJYWVnBy8sL0dHRKCwsrLf9Cxcu4KWXXkKHDh0gEomQk5MDAPj2228RHh6OJ554AjY2NnB0dMSQIUOwb98+tbbi4+PRrVs3AMC2bdvU+peSkqKsU98avBMnTuD555+Hi4sLrK2t4efnhxUrVqCsrEyjrkgkQmhoKPLz8xEZGQlXV1dIJBIEBQUpn6Xq9u3biImJga+vLyQSCZycnNCrVy+88cYbKC4ubuS/AhERGTtm8IiIqF1asWIF4uPjce3aNaxYsUJZHhAQoPz84MGDmDx5MszMzPDiiy/C09MTf/zxBzZv3ozExEScPn0azs7Oau1evnwZQUFB6N27N6KiolBYWAgrKysAwOLFi2FlZYXBgwdDKpXi7t27OHjwICZOnIhNmzYhOjpa2YeYmBhs3LgRffv2xbhx45Tte3t7N/h97d27F+Hh4RCLxZgyZQo6duyIpKQkrFq1ComJiUhJSYG1tbXaPUVFRRg8eDAcHR0RERGBO3fuYPfu3QgLC8PZs2fx1FNPAQDKysoQHByMnJwcjBo1Ci+99BIqKytx9epVbN++He+++y6zikRE7Z1ARETUDly9elUAIERGRirLQkJChPr+V1ZQUCA4ODgIHh4eQk5Ojtq1Xbt2CQCEefPmabQPQPjggw+0tpmdna1R9uDBA6F3796Co6OjUFpa2mB/VW3dulUAIGzdulVZVlxcLDg6OgpisVjIzMxUltfU1AhTpkwRAAirVq1Sa0fR57lz5wo1NTXK8q+++koAIMyePVtZdvDgQQGA8Pbbb2v9PioqKrT2lYiI2g9O0SQiIpP0z3/+EzKZDGvXroWXl5fatalTp6Jfv35ISEjQuM/d3R1Lly7V2qaPj49GmZ2dHaKiolBcXIwzZ840qc/fffcdiouL8dprr6FPnz7KcjMzM3z44YewsLDQOqXT1tYW69evh5nZw/+tR0ZGwsLCQmufJBKJ1u9DLBY3qf9ERNT2OEWTiIhM0qlTpwAAp0+fRnZ2tsb1iooKFBQUoKCgAK6ursryvn37KqdkPurOnTtYt24dfvzxR1y7dg3l5eVq12/dutWkPp87dw5A3fEPj+ratSt8fHxw6dIlPHjwAPb29sprPXr0gJ2dnVp9CwsLdOrUCUVFRcqyoUOHQiqVYt26dcjMzMSYMWMQEhKCXr16Ge1xE0REpB8GeEREZJLu3bsHAPj0008brFdaWqoW4HXq1Kne9vr374/c3FwEBwdjxIgRcHJygrm5OTIyMvDdd99BLpc3qc8ymazBPkilUly6dAkymUwtwHNwcNBa38LCAjU1NcqvHR0dcerUKXzwwQf4/vvvcejQIQCAp6cnFi1ahLlz5zap/0RE1PYY4BERkUlSBD2///67cpMRXdSXyfrHP/6B3Nxc/O1vf8OyZcvUrq1btw7fffed4Z39k6LP+fn5Wq/n5eWp1TNE165dER8fj9raWvz2229ISkrCpk2b8Oabb8LZ2Rnh4eEGt01ERG2Pa/CIiKjdMjc3BwC1LJXCM888AwBIS0trlmcppnm++OKLGteOHTumV9/qExgYCABajze4fv06srOz4ePjo5a9M5SZmRkCAgLw/vvvY9euXQDqdh0lIqL2jQEeERG1Wy4uLgDqgp9HTZ8+Hfb29li6dCnOnz+vcb2srEy5Tk8Xio1ajh8/rla+c+dO5VRHVc7OzhCJRFr7Vp8XX3wRjo6O2Lp1q1qfBUHAwoULUV1drXHOnz7Onz+vNTuoKHv0+AUiImp/OEWTiIjareHDh+Obb77BhAkT8Ne//hXW1tbo27cvXnjhBbi5uWHXrl2YNGkS+vbti+eeew5+fn6Qy+XIyclBamoqBg0ahP/85z86PSsiIgLr169HdHQ0jhw5Ai8vL2RmZuKnn37C+PHjsX//frX6dnZ26N+/P44ePYqIiAj4+vrCzMwMERERGrt6Kjg4OGDLli0IDw/HM888gylTpsDNzQ2HDx/G2bNnMWDAALz33nsG/3slJyfjvffeQ3BwMHr06IEOHTrgypUrOHjwIKytrfHmm28a3DYRERkHBnhERNRuzZw5Ezk5OUhISMD69etRXV2NyMhIvPDCCwCA559/HufOncOGDRtw+PBhJCcnw9bWFl26dMH06dMxbdo0nZ/VpUsXpKam4v3338fhw4dRXV2Nfv36ISkpCdevX9cI8ABg+/bteOedd/DDDz+guLgYgiBg8ODB9QZ4ADBp0iS4u7tj7dq12L9/P8rKyuDt7Y3ly5dj4cKFTcqyhYWFIScnB0ePHsX+/ftRUlICDw8PTJkyBe+//z6efPJJg9smIiLjIBIEQWjrThAREREREVHTcQ0eERERERGRiWCAR0REREREZCIY4BEREREREZkIBnhEREREREQmggEeERERERGRiWCAR0REREREZCIY4BEREREREZkIBnhEREREREQmggEeERERERGRiWCAR0REREREZCIY4BEREREREZkIBnhEREREREQmggEeERERERGRifh/MqebV2e9E1oAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot resulting history of objective values\n", "plt.figure(figsize=(10, 5))\n", "plt.plot([0, maxiter], [opt_result.fval, opt_result.fval], \"r--\", linewidth=2, label=\"optimum\")\n", "for alpha in alphas:\n", " plt.plot(objectives[alpha], label=\"alpha = %.2f\" % alpha, linewidth=2)\n", "plt.legend(loc=\"lower right\", fontsize=14)\n", "plt.xlim(0, maxiter)\n", "plt.xticks(fontsize=14)\n", "plt.xlabel(\"iterations\", fontsize=14)\n", "plt.yticks(fontsize=14)\n", "plt.ylabel(\"objective value\", fontsize=14)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "optimal probability (alpha = 1.00): 0.0000\n", "optimal probability (alpha = 0.50): 0.0000\n", "optimal probability (alpha = 0.25): 0.2895\n" ] } ], "source": [ "# evaluate and sort all objective values\n", "objective_values = np.zeros(2**n)\n", "for i in range(2**n):\n", " x_bin = (\"{0:0%sb}\" % n).format(i)\n", " x = [0 if x_ == \"0\" else 1 for x_ in reversed(x_bin)]\n", " objective_values[i] = qp.objective.evaluate(x)\n", "ind = np.argsort(objective_values)\n", "\n", "# evaluate final optimal probability for each alpha\n", "for alpha in alphas:\n", " probabilities = np.fromiter(\n", " results[alpha].min_eigen_solver_result.eigenstate.binary_probabilities().values(),\n", " dtype=float,\n", " )\n", " print(\"optimal probability (alpha = %.2f): %.4f\" % (alpha, probabilities[ind][-1:]))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.25.0.dev0+1d844ec
qiskit-aer0.12.0
qiskit-ibmq-provider0.20.2
qiskit-nature0.7.0
qiskit-optimization0.6.0
System information
Python version3.10.11
Python compilerClang 14.0.0 (clang-1400.0.29.202)
Python buildmain, Apr 7 2023 07:31:31
OSDarwin
CPUs4
Memory (Gb)16.0
Thu May 18 16:56:49 2023 JST
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import qiskit.tools.jupyter\n", "\n", "%qiskit_version_table\n", "%qiskit_copyright" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 4 }