{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# IAP 2022: Advanced Optimization Session (Session 1)\n", "\n", "**Shuvomoy Das Gupta**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Response for the advanced optimization session\n", "\n", "* Convex programming (32%)\n", "* Integer programming (28%)\n", "* Nonconvex programming (28%)\n", "* Semidefinite programming (5%)\n", "* Other" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on the responses, I will cover the following topic today.\n", "\n", "# Topics\n", "\n", "---\n", "$\\textsf{Session 1: Convex Optimization and Extension}$\n", "---\n", "\n", "* How to model an optimization problem in a tractable manner\n", "\n", "\n", "* Tractable optimization models\n", "\n", "\n", "* Convex optimization through `Convex.jl` and `JuMP`\n", "\n", "\n", "* Modeling examples of common convex programs that shows up in OR\n", "\n", "\n", "* What to do when the problem is nonconvex\n", "\n", "\n", "---\n", "$\\textsf{Session 2: Discrete Optimization: Basic and Advanced}$\n", "---\n", "\n", "* Mixed Integer Linear Programs (MILP): basic\n", "\n", "\n", "* How MILPs are solved: Branch-and-Bound algorithm\n", "\n", "\n", "* How do we exploit structures to speed up MILPs\n", "\n", "\n", "* Solving Mixed Integer Quadratic Problems" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modeling an optimization problem \n", "\n", "* We have our research problem, that usually come from a practical problem rooted in reality. \n", "\n", "* While modeling the problem, we want to stay as close to reality as possible, but without making the model intractable. \n", "\n", "* This is a balance. Safety-critical constraints have to be modeled exactly, where soft constraints can be relaxed.\n", "\n", "* It is a good practice to be considerate during the modeling phase so we end up with a model that is practically tractable.\n", "\n", "### Some good resources on how to model optimization problems\n", "\n", "* Model building in mathematical programming by H Williams ([Link](https://www.amazon.com/Model-Building-Mathematical-Programming-Williams/dp/1118443330))\n", " * A very practical book for modeling LP and MILP\n", " \n", "\n", "* Optimization models by G Calafiore and L El Ghaoui ([Link](https://www.amazon.com/Optimization-Models-Giuseppe-C-Calafiore/dp/1107050871))\n", " * Good book for modeling convex optimization problems, especially Chapter 9, 10, 11 \n", " \n", " \n", " \n", "* Applications of optimization with Xpress-MP by C Guéret, C Prins, and M Sevaux ([Link](https://www2.isye.gatech.edu/~sahmed/isye3133b/XpressBook.pdf))\n", " * Excellent for modeling integer optimization models, especially Chapter 3, with lot of shortcuts and hacks " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modeling an optimization problems\n", "\n", "At present the following types of problems are *practically tractable*. Whenever we are modeling an optmization problem, we should try to ensure that our model is one of the following:\n", "\n", "1. Linear programs (LP)\n", "\n", "\n", "\n", "2. Quadratic convex programs (QCP)\n", "\n", "\n", "\n", "3. Second order cone programs (SOCP)\n", "\n", "\n", "\n", "4. Semidefinite programs (SDP)\n", "\n", "\n", "\n", "5. Mixed-integer linear programs (MILP)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## My modeling strategies\n", "\n", "* **Solve the smaller optimization problem first**\n", "\n", "> Thomson's Rule for First-Time Telescope Makers: \"It is faster to *make a four-inch mirror then a six-inch mirror* than to *make a six-inch mirror*.\"\n", "\n", "I follow a modified version of Thomson's rule\n", "\n", "It is faster to **solve a smaller simpler optimization model and then the larger complicated optimization model** than to *solve a larger complicated optimization model*.\n", "\n", "* **Do not optimize prematurely**\n", "\n", "> \"The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.” \n", "> - Donald Knuth, The Art of Computer Programming" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Milestones in optimization\n", "\n", "\n", "* 1947: G. Dantzig, who works for US air-forces, presents the Simplex method for solving LP-problems\n", "\n", "\n", "\n", "* 1948: J. Von Neumann establishes the theory of duality for LP-problems\n", "\n", "\n", "\n", "* 1951: H.W. Kuhn and A.W. Tucker reinvent Karush's optimality conditions (known as KKT conditions) \n", "\n", "\n", "\n", "* 1951: H. Markowitz presents his portfolio optimization theory => (1990 Nobel prize)\n", "\n", "\n", "\n", "* 1954: L.R. Ford's and D.R. Fulkerson's research on network problems => start of combinatorial optimization\n", "\n", "\n", "\n", "* 1960-1970: Many of the early works on first-order optimization algorithms are done (mostly developed in Soviet Union)\n", "\n", "\n", "\n", "* 1983: Nesterov comes up with accelerated gradient descent\n", "\n", "\n", "\n", "* 1984: N. Karmarkar's polynomial time algorithm for LP-problems begins a boom period for interior point methods\n", "\n", "\n", "\n", "* 1990s: Semidefinite optimization theory\n", "\n", "\n", "\n", "* 2015s: First-order methods become very hot again due to machine learning" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## General convex optimization problem\n", "\n", "Most authoritative reference is Convex Optimization by Boyd and Vandenberghe ([pdf](https://web.stanford.edu/~boyd/cvxbook/)).\n", "\n", "Convex optimization problems are defined through the notion of convex set.\n", "\n", "**Convex set**\n", "\n", "\"Drawing1\"\n", "\n", "**Convex function**\n", "\n", "A function is convex if and only if the region above its graph is a convex set.\n", "\n", "\n", "\"Drawing1\"\n", "\n", "## Standard form of a convex optimization problem\n", "\n", "A general convex optimization problem has\n", "the following form:\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{R}^{d}}{\\mbox{minimize}} & f_{0}(x)\\\\\n", "\\mbox{subject to} & a_{i}^{\\top}x=b_{i},\\quad i=1,\\ldots,p,\\\\\n", " & f_{i}(x)\\leq0,\\quad i=1,\\ldots,m.\n", "\\end{array}\n", "$$\n", " where the equality constraints are linear and the functions $f_{0},f_{1},\\ldots,f_{m}$\n", "are convex. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Convex optimization\n", "\n", "* a subclass of optimization problems that includes LP as special case\n", "\n", "\n", "* convex problems can look very difficult (nonlinear, even\n", "nondifferentiable), but like LP can be solved very efficiently\n", "\n", "\n", "* convex problems come up more often than was once thought\n", "\n", "\n", "* many applications recently discovered in control, combinatorial\n", "optimization, signal processing, communications, circuit design,\n", "machine learning, statistics, finance, . . ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## General approaches to using convex optimization\n", "\n", "* Pretend/assume/hope $f_i$ are convex (around minimum) and proceed $\\Rightarrow \\textsf{Machine Learning in Practice}$ \n", " - easy on user (problem specifier)\n", " - but lose many benefits of convex optimization\n", " - risky to use in saftey-critical application domain\n", " - an important example `Adam`: one of the most heavily used solver for deep learning. (also see [Link](https://arxiv.org/pdf/1804.10587.pdf))\n", " \n", " \n", "* Verify problem is convex (around minimum) before attempting solution $\\Rightarrow \\textsf{Machine Learning Theory}$ \n", " - but verification for general problem description is hard \n", " \n", " \n", "* Model the problem in a way that results in a convex formulation $\\Rightarrow \\textsf{Operations Research}$ \n", " - user needs to follow a restricted set of rules and methods\n", " - convexity verification is automatic\n", "\n", "Each has its advantages, but we focus on 3rd approach." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How can you tell if a problem is convex?\n", "\n", "* Need to check convexity of a function\n", "\n", "Approaches:\n", "* use basic definition, first or second order conditions, e.g., $\\nabla^2 f(x) \\succeq 0$\n", "* via convex calculus: construct $f$ using\n", " - library of basic examples or atoms that are convex\n", " - calculus rules or transformations that preserve convexity" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic convex functions (convex atoms)\n", "\n", "* $x^{p}$ for $p\\geq1$ or $p\\leq0$; $-x^{p}$ for $0\\leq p\\leq1$\n", "\n", "* $e^{x},$$-\\log x$, $x\\log x$\n", "\n", "* $a^{\\top}x+b$\n", "\n", "* $x^{\\top}x$; $x^{\\top}x/y$ (for $y>0$); $\\sqrt{x^{\\top}x}$\n", "\n", "* $\\|x\\|$ (any norm)\n", "\n", "* $\\max(x_{1},\\ldots,x_{n})$\n", "\n", "* $\\log(e^{x_{1}}+\\ldots+e^{x_{n}})$\n", "\n", "* $\\log\\det X^{-1}$ (for $X\\succ0$)\n", "\n", "These are also called *atom*s because they are building block of much more complex convex functions. There are many such atoms, most convex programs in practice can be built from these atoms. A more complete list can be found [here](https://jump.dev/Convex.jl/stable/operations/). \n", "\n", "When modeling a problem, we aim to construct a model in such a way so that the building blocks of the functions are the atoms above. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Convex calculus rules\n", "\n", "* nonnegative scaling: if $f$ is convex then $\\alpha f$ is convex\n", "if $\\alpha\\geq0$\n", "\n", "\n", "\n", "* sum: if $f$ and $g$ are convex, then so is $f+g$\n", "\n", "\n", "\n", "* affine composition: if $f$ is convex, then so is $f(Ax+b)$\n", "\n", "\n", "\n", "* pointwise maximum: if $f_{1},f_{2},\\ldots,f_{m}$ are convex, then\n", "so is $f(x)=\\max_{i\\in\\{1,\\ldots,m\\}}f_{i}(x)$ \n", "\n", "* pointwise supremum: if $f(x,y)$ is convex in $x$ for all $y \\in S$, then $g(x) = \\textrm{sup}_{y \\in S}{f(x,y)}$ is convex\n", "\n", "\n", "\n", "* partial minimization: if $f(x,y)$ is convex in $(x,y)$ and $C$\n", "is convex, then $g(x)=\\min_{y\\in C}f(x,y)$ is convex\n", "\n", "\n", "\n", "* composition: if $h$ is convex and increasing and $f$ is convex,\n", "then $g(x)=h(f(x))$ is convex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The function that may show up in your model can be much more complicated\n", "\n", "Many complicated convex functions that we can use in the modeling phase can build from the atoms through convex calculus.\n", "\n", "* piecewise-linear function: $f(x)=\\max_{i=1,\\ldots,k}(a_{i}^{\\top}x+b_{i})$\n", "\n", "\n", "\n", "* $\\ell_{1}$-regularized least-squares cost: $\\|Ax-b\\|_{2}^{2}+\\lambda\\|x\\|_{1}$\n", "with $\\lambda\\geq0$\n", "\n", "\n", "* support-function of a set: $S_C(x)= \\max_{y \\in C}{x^\\top y}$ where $C$ is any set\n", "\n", "\n", "\n", "* distance to convex set: $f(x)=\\min_{y\\in C}\\|x-y\\|_{2}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic modeling steps\n", "\n", "* When modeling a problem we face many choices how to mathematically model a certain reality\n", "\n", "\n", "* During the modeling phase try to select your functions with their building blocks as convex atoms\n", "\n", "\n", "* When modeling some operation on a mathematical object try to use convex calculus rules\n", "\n", "\n", "* If you can follow the last two steps, you will have a convex problem\n", "\n", "\n", "* If you have a nonconvex problem (that is not mixed integer linear program), you can try one of the two things:\n", " - Work with tightest convex approximation of the nonconvex problem (will see one example)\n", " - *Sequential convex programming*, a local optimization method for nonconvex problems that leverages convex optimization (works suprisingly well in my experience)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear programs\n", "\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{R}^{d}}{\\mbox{minimize}} & c^{\\top}x\\\\\n", "\\mbox{subject to} & Ax=b,\\\\\n", " & Cx\\geq d.\n", "\\end{array}\n", "$$\n", "\n", "Shows up when we are modeling system that can be completely described by linear equalities and inequalities." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Quadratic convex programs (QCP)\n", "\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{E}}{\\mbox{minimize}} & c^{\\top}x+x^{\\top}\\underbrace{Q_{0}}_{\\succeq0}x\\\\\n", "\\mbox{subject to} & Ax=b,\\\\\n", " & x^{\\top}\\underbrace{Q_{i}}_{\\succeq0}x+q_{i}^{\\top}x+r_{i}\\leq0,\\quad i=1,\\ldots,p.\n", "\\end{array}\n", "$$\n", "\n", "#### Where does it show up?\n", "\n", "QCP mostly show up in data fitting problems such as least-squares and its variants." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Second order cone programs (SOCP)\n", "\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{R}^{d}}{\\mbox{minimize}} & c^{\\top}x\\\\\n", "\\mbox{subject to} & \\|A_{i}x+b_{i}\\|_{2}\\leq q_{i}^{\\top}x+d_{i},\\quad i=1,\\ldots,p,\\\\\n", " & Cx\\leq f.\n", "\\end{array}\n", "$$\n", "\n", "* SOCP is a generalization of LP and QCP\n", "* Allows for linear combinations of variables to be constrained inside a special convex set, called a second-order cone\n", "\n", "\"image-20220117142714899\"\n", "\n", "* Shows up in: geometry problems, approximation problems, chance-constrained linear optimization problems" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Semidefinite programs (SDP)\n", "\n", "Recall that LP in standard form is:\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{R}^{d}}{\\mbox{minimize}} & c^{\\top}x\\\\\n", "\\mbox{subject to} & a_{i}^{\\top}x=b_{i},\\quad i=1,\\ldots,m,\\\\\n", " & x\\succeq0.\n", "\\end{array}\n", "$$\n", "An SDP is a generalization of LPs. Standard form of an SDP is:\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{X\\in\\mathbf{R}^{d\\times d}}{\\mbox{minimize}} & \\mathbf{tr}(CX)\\\\\n", "\\mbox{subject to} & \\mathbf{tr}(A_{i}X)=b_{i},\\quad i=1,\\ldots,m,\\\\\n", " & X\\succeq0.\n", "\\end{array}\n", "$$\n", "\n", "* Among all convex models, SDP is the most useful in my opinion.\n", "* Shows up in:\n", " * sophisticated relaxations (approximations) of non-convex problems,\n", " * in control design for linear dynamical systems,\n", " * in system identification,\n", " * in algebraic geometry, and\n", " * in matrix completion problems." ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Mixed-integer linear programs (MILP) (Session 2)\n", "\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x,y}{\\mbox{minimize}} & c^{\\top}x+d^{\\top}y\\\\\n", "\\mbox{subject to} & Ax+By=b,\\\\\n", " & Cx+Dy\\geq f,\\\\\n", " & x\\succeq0,\\\\\n", " & x\\in\\mathbf{R}^{d},\\\\\n", " & y\\in \\mathbf{Z}^{n}.\n", "\\end{array}\n", "$$\n", "\n", "* Nonconvex, but \"practically tractable\" in many situations\n", "* MILP solvers have gained a speed-up factor of 2 trillion in the last 40 years!\n", "* Wide modeling capability\n", "* Usually shows up in situations where\n", " * modeling do/don't do decisions\n", " * logical conditions\n", " * implications (if something happens do this)\n", " * either/or" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Modeling and solving common convex models in `Julia`\n", "\n", "### Example of QCP: portfolio optimization\n", "\n", "\n", "Assume that we have a portfolio with $n$ assets at the beginning of time period $t$.\n", "\n", "Given some forecasts on risks and expected returns we try to find the optimal portfolio that rebalances the portfolio to achieve a good balance between expected risk (variance) $x^\\top \\Sigma x$ and returns $\\mu^\\top x$​​.\n", "\n", "In it's simplest form we want to solve:\n", "$$\n", "\\begin{array}{ll} \\text{minimize} & \t \\gamma (x^\\top \\Sigma x) -\\mu^\\top x \\\\\n", "\\text{subject to} & 1^\\top x = d + 1^\\top x^0 \\\\\n", " & x \\geq 0,\n", " \\end{array}\n", "$$\n", "with variable $x \\in \\mathbf{R}^n$, $\\mu$ forecasted (expected) returns, $\\gamma > 0 $ risk aversion parameter.\n", "\n", "* $x^0_i$ represents the initial investment in asset $i$ and $d$ represents the cash reserve.\n", "* The equality constraint tells us that the sum of the new allocation vector $x$​ has to equal the initial allocation plus the cash reserve\n", "* the covariance matrix of our risk model is given by $\\Sigma \\in \\mathbf{S}_+^n$​." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Load the packages \n", "using MosekTools, Mosek, Random, Convex, JuMP, Suppressor, Images, DelimitedFiles\n", "# using COSMO, Random, Convex, JuMP, Suppressor, Images, DelimitedFiles" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Load the data\n", "include(\"img//portfolio_data.jl\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solving the problem using `Convex.jl`\n", "\n", "To solve this problem, we will use `Convex.jl`, which is a specialized `Julia` package for solving convex optimization problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Declare the variable $x$." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Variable\n", "size: (50, 1)\n", "sign: real\n", "vexity: affine\n", "id: 616…588" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = Variable(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us now the define the objective $ \\gamma (x^\\top \\Sigma x) -\\mu^\\top x $." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "+ (convex; real)\n", "├─ * (convex; positive)\n", "│ ├─ [1.0;;]\n", "│ └─ * (convex; positive)\n", "│ ├─ [1;;]\n", "│ └─ qol_elem (convex; positive)\n", "│ ├─ …\n", "│ └─ …\n", "└─ Convex.NegateAtom (affine; real)\n", " └─ sum (affine; real)\n", " └─ .* (affine; real)\n", " ├─ …\n", " └─ …" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "objective = γ*quadform(x,Σ) - dot(x,μ) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note, the list of all the functions `Convex.jl` can model directly is available at [https://jump.dev/Convex.jl/stable/operations/#Linear-Program-Representable-Functions](https://jump.dev/Convex.jl/stable/operations/#Linear-Program-Representable-Functions).\n", "\n", "Add the constraint $1^\\top x = d + 1^\\top x^0$." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "== constraint (affine)\n", "└─ + (affine; real)\n", " ├─ sum (affine; real)\n", " │ └─ 50-element real variable (id: 616…588)\n", " └─ [-1;;]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "constraint_linear = ( sum(x) == d + sum(x0) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now add the positivity constraint." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "≥ constraint (affine)\n", "└─ + (affine; real)\n", " ├─ 50-element real variable (id: 616…588)\n", " └─ Convex.NegateAtom (constant; negative)\n", " └─ * (constant; positive)\n", " ├─ …\n", " └─ …" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "constraint_pos = ( x >= 0 )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, combine everything in a `problem`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Problem statistics\n", " problem is DCP : true\n", " number of variables : 1 (50 scalar elements)\n", " number of constraints : 2 (51 scalar elements)\n", " number of coefficients : 2_605\n", " number of atoms : 14\n", "\n", "Solution summary\n", " termination status : OPTIMIZE_NOT_CALLED\n", " primal status : NO_SOLUTION\n", " dual status : NO_SOLUTION\n", "\n", "Expression graph\n", " minimize\n", " └─ + (convex; real)\n", " ├─ * (convex; positive)\n", " │ ├─ [1.0;;]\n", " │ └─ * (convex; positive)\n", " │ ├─ …\n", " │ └─ …\n", " └─ Convex.NegateAtom (affine; real)\n", " └─ sum (affine; real)\n", " └─ …\n", " subject to\n", " ├─ == constraint (affine)\n", " │ └─ + (affine; real)\n", " │ ├─ sum (affine; real)\n", " │ │ └─ …\n", " │ └─ [-1;;]\n", " └─ ≥ constraint (affine)\n", " └─ + (affine; real)\n", " ├─ 50-element real variable (id: 616…588)\n", " └─ Convex.NegateAtom (constant; negative)\n", " └─ …\n" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "problem = minimize(objective, [constraint_linear, constraint_pos])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now time to solve the problem!" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Problem\n", " Name : \n", " Objective sense : minimize \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 51 \n", " Affine conic cons. : 2 (54 rows)\n", " Disjunctive cons. : 0 \n", " Cones : 0 \n", " Scalar variables : 52 \n", " Matrix variables : 0 \n", " Integer variables : 0 \n", "\n", "Optimizer started.\n", "Presolve started.\n", "Linear dependency checker started.\n", "Linear dependency checker terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator - tries : 1 time : 0.00 \n", "Lin. dep. - tries : 1 time : 0.00 \n", "Lin. dep. - primal attempts : 1 successes : 1 \n", "Lin. dep. - dual attempts : 0 successes : 0 \n", "Lin. dep. - primal deps. : 0 dual deps. : 0 \n", "Presolve terminated. Time: 0.00 \n", "Optimizer - threads : 16 \n", "Optimizer - solved problem : the primal \n", "Optimizer - Constraints : 52 \n", "Optimizer - Cones : 2 \n", "Optimizer - Scalar variables : 104 conic : 54 \n", "Optimizer - Semi-definite variables: 0 scalarized : 0 \n", "Factor - setup time : 0.00 \n", "Factor - dense det. time : 0.00 GP order time : 0.00 \n", "Factor - nonzeros before factor : 1377 after factor : 1378 \n", "Factor - dense dim. : 0 flops : 1.84e+05 \n", "ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME \n", "0 1.0e+00 1.0e+00 2.1e+00 0.00e+00 7.071067812e-01 -3.535533906e-01 1.0e+00 0.00 \n", "1 3.2e-01 3.2e-01 9.8e-02 1.63e+00 -1.087630645e-02 -2.789842192e-01 3.2e-01 0.00 \n", "2 1.2e-01 1.2e-01 2.6e-02 3.14e+00 -3.160660619e-02 -7.134527819e-02 1.2e-01 0.00 \n", "3 2.8e-02 2.8e-02 3.4e-03 8.43e-01 7.492113283e-03 -3.983513787e-03 2.8e-02 0.00 \n", "4 3.9e-03 3.9e-03 1.3e-04 8.69e-01 3.470979617e-02 3.277711253e-02 3.9e-03 0.00 \n", "5 3.4e-04 3.4e-04 3.6e-06 1.03e+00 4.025489937e-02 4.008695668e-02 3.4e-04 0.00 \n", "6 4.4e-05 4.4e-05 1.6e-07 9.84e-01 4.077856717e-02 4.075679902e-02 4.4e-05 0.00 \n", "7 2.0e-06 2.0e-06 1.5e-09 1.00e+00 4.085091948e-02 4.084993518e-02 2.0e-06 0.00 \n", "8 3.7e-09 3.7e-09 1.2e-13 1.00e+00 4.085437501e-02 4.085437318e-02 3.7e-09 0.00 \n", "Optimizer terminated. Time: 0.01 \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39m[Convex.jl] Compilation finished: 5.0 seconds, 706.418 MiB of memory allocated\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "text/plain": [ "Problem statistics\n", " problem is DCP : true\n", " number of variables : 1 (50 scalar elements)\n", " number of constraints : 2 (51 scalar elements)\n", " number of coefficients : 2_605\n", " number of atoms : 14\n", "\n", "Solution summary\n", " termination status : OPTIMAL\n", " primal status : FEASIBLE_POINT\n", " dual status : FEASIBLE_POINT\n", " objective value : 0.0409\n", "\n", "Expression graph\n", " minimize\n", " └─ + (convex; real)\n", " ├─ * (convex; positive)\n", " │ ├─ [1.0;;]\n", " │ └─ * (convex; positive)\n", " │ ├─ …\n", " │ └─ …\n", " └─ Convex.NegateAtom (affine; real)\n", " └─ sum (affine; real)\n", " └─ …\n", " subject to\n", " ├─ == constraint (affine)\n", " │ └─ + (affine; real)\n", " │ ├─ sum (affine; real)\n", " │ │ └─ …\n", " │ └─ [-1;;]\n", " └─ ≥ constraint (affine)\n", " └─ + (affine; real)\n", " ├─ 50-element real variable (id: 616…588)\n", " └─ Convex.NegateAtom (constant; negative)\n", " └─ …\n" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve!(problem, Mosek.Optimizer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get the solution now." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "50-element Vector{Float64}:\n", " 0.027228148632211544\n", " 0.03226509373005258\n", " 0.04052119428991772\n", " -2.2845957843366924e-10\n", " 0.021044475704732325\n", " -6.007492020176588e-10\n", " 0.05055728204565903\n", " 0.05394670775715555\n", " -3.2419454678184343e-10\n", " 0.04398389194239702\n", " 0.019242470338041075\n", " 0.03770885840134449\n", " 0.03056542452651858\n", " ⋮\n", " 0.02068749932981461\n", " 0.06466322443818628\n", " 0.021984014584341998\n", " 0.004511708899519058\n", " -1.730690598700686e-10\n", " 0.02492644466074096\n", " 0.030100675956568512\n", " 0.013832689486535158\n", " 9.044158365494002e-10\n", " 0.028482451870643428\n", " 0.043080949640823624\n", " -7.750581686339368e-10" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_sol = Convex.evaluate(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get the optimal value." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.040854375312223315" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p_star = Convex.evaluate(objective)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, combining everything together, the code to solve the portfolio optimization problem using `Convex.jl` would be:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Problem\n", " Name : \n", " Objective sense : minimize \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 51 \n", " Affine conic cons. : 2 (54 rows)\n", " Disjunctive cons. : 0 \n", " Cones : 0 \n", " Scalar variables : 52 \n", " Matrix variables : 0 \n", " Integer variables : 0 \n", "\n", "Optimizer started.\n", "Presolve started.\n", "Linear dependency checker started.\n", "Linear dependency checker terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator - tries : 1 time : 0.00 \n", "Lin. dep. - tries : 1 time : 0.00 \n", "Lin. dep. - primal attempts : 1 successes : 1 \n", "Lin. dep. - dual attempts : 0 successes : 0 \n", "Lin. dep. - primal deps. : 0 dual deps. : 0 \n", "Presolve terminated. Time: 0.00 \n", "Optimizer - threads : 16 \n", "Optimizer - solved problem : the primal \n", "Optimizer - Constraints : 52 \n", "Optimizer - Cones : 2 \n", "Optimizer - Scalar variables : 104 conic : 54 \n", "Optimizer - Semi-definite variables: 0 scalarized : 0 \n", "Factor - setup time : 0.00 \n", "Factor - dense det. time : 0.00 GP order time : 0.00 \n", "Factor - nonzeros before factor : 1377 after factor : 1378 \n", "Factor - dense dim. : 0 flops : 1.84e+05 \n", "ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME \n", "0 1.0e+00 1.0e+00 2.1e+00 0.00e+00 7.071067812e-01 -3.535533906e-01 1.0e+00 0.00 \n", "1 3.2e-01 3.2e-01 9.8e-02 1.63e+00 -1.087630645e-02 -2.789842192e-01 3.2e-01 0.01 \n", "2 1.2e-01 1.2e-01 2.6e-02 3.14e+00 -3.160660619e-02 -7.134527819e-02 1.2e-01 0.01 \n", "3 2.8e-02 2.8e-02 3.4e-03 8.43e-01 7.492113283e-03 -3.983513787e-03 2.8e-02 0.01 \n", "4 3.9e-03 3.9e-03 1.3e-04 8.69e-01 3.470979617e-02 3.277711253e-02 3.9e-03 0.01 \n", "5 3.4e-04 3.4e-04 3.6e-06 1.03e+00 4.025489937e-02 4.008695668e-02 3.4e-04 0.01 \n", "6 4.4e-05 4.4e-05 1.6e-07 9.84e-01 4.077856717e-02 4.075679902e-02 4.4e-05 0.01 \n", "7 2.0e-06 2.0e-06 1.5e-09 1.00e+00 4.085091948e-02 4.084993518e-02 2.0e-06 0.01 \n", "8 3.7e-09 3.7e-09 1.2e-13 1.00e+00 4.085437501e-02 4.085437318e-02 3.7e-09 0.01 \n", "Optimizer terminated. Time: 0.01 \n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39m[Convex.jl] Compilation finished: 0.0 seconds, 826.781 KiB of memory allocated\n" ] } ], "source": [ "## Define the problem\n", "x = Variable(n);\n", "objective = γ*quadform(x,Σ) - dot(x,μ);\n", "constraint_linear = ( sum(x) == d + sum(x0) );\n", "constraint_pos = ( x >= 0 );\n", "problem = minimize(objective, [constraint_linear, constraint_pos]);\n", "\n", "## Solve the problem\n", "solve!(problem, Mosek.Optimizer);\n", "\n", "## Extract the solution\n", "x_sol = Convex.evaluate(x);\n", "p_star = Convex.evaluate(objective);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solving the problem using `JuMP`\n", "\n", "There is nothing special solving a problem via `Convex.jl` over `JuMP`. We could solve the same problem using `JuMP` with the following code." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Problem\n", " Name : \n", " Objective sense : minimize \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 1 \n", " Affine conic cons. : 1 (52 rows)\n", " Disjunctive cons. : 0 \n", " Cones : 0 \n", " Scalar variables : 51 \n", " Matrix variables : 0 \n", " Integer variables : 0 \n", "\n", "Optimizer started.\n", "Presolve started.\n", "Linear dependency checker started.\n", "Linear dependency checker terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator - tries : 1 time : 0.00 \n", "Lin. dep. - tries : 1 time : 0.00 \n", "Lin. dep. - primal attempts : 1 successes : 1 \n", "Lin. dep. - dual attempts : 0 successes : 0 \n", "Lin. dep. - primal deps. : 0 dual deps. : 0 \n", "Presolve terminated. Time: 0.00 \n", "Optimizer - threads : 16 \n", "Optimizer - solved problem : the primal \n", "Optimizer - Constraints : 50 \n", "Optimizer - Cones : 1 \n", "Optimizer - Scalar variables : 101 conic : 52 \n", "Optimizer - Semi-definite variables: 0 scalarized : 0 \n", "Factor - setup time : 0.00 \n", "Factor - dense det. time : 0.00 GP order time : 0.00 \n", "Factor - nonzeros before factor : 1275 after factor : 1275 \n", "Factor - dense dim. : 0 flops : 9.49e+04 \n", "ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME \n", "0 1.0e+00 2.9e-01 2.4e+00 0.00e+00 7.071067812e-01 -7.071067812e-01 1.0e+00 0.00 \n", "1 2.9e-01 8.6e-02 1.5e-01 1.20e+00 -2.906081789e-02 -4.249358754e-01 2.9e-01 0.00 \n", "2 1.4e-01 4.0e-02 5.5e-02 4.49e+00 -2.640651336e-02 -6.905590568e-02 1.4e-01 0.00 \n", "3 3.0e-02 8.9e-03 5.9e-03 8.51e-01 7.377461763e-03 -4.116575695e-03 3.0e-02 0.00 \n", "4 4.7e-03 1.4e-03 2.2e-04 8.52e-01 3.494661566e-02 3.234045354e-02 4.7e-03 0.00 \n", "5 4.3e-04 1.3e-04 5.5e-06 1.03e+00 4.026643434e-02 4.002824506e-02 4.3e-04 0.00 \n", "6 5.1e-05 1.5e-05 2.3e-07 1.01e+00 4.077948134e-02 4.075136362e-02 5.1e-05 0.00 \n", "7 9.0e-10 3.5e-10 1.4e-14 1.00e+00 4.085438030e-02 4.085437979e-02 9.0e-10 0.00 \n", "Optimizer terminated. Time: 0.00 \n", "\n" ] }, { "data": { "text/plain": [ "0.040854380292182496" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Define the problem\n", "using JuMP\n", "model = Model(Mosek.Optimizer)\n", "@variable(model, xs[1:n] >= 0)\n", "@objective(model, Min, γ * xs'*Σ*xs - μ' * xs);\n", "@constraint(model, sum(xs) .== d + sum(x0))\n", "\n", "## Solve the problem\n", "optimize!(model)\n", "\n", "## Get the optimal solution\n", "x_sol_JuMP = value.(xs)\n", "p_star_JuMP = objective_value(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because we used the same solver, we hope to get the same optimal solution." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.507504432879077e-6" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "norm(x_sol - x_sol_JuMP)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### When to use `JuMP` vs `Convex.jl`?\n", "\n", "* Usually `JuMP`'s model creation time is somewhat faster than `Convex.jl`, so if you are working on a problem, where performance is key, then using `JuMP` is a good idea.\n", "* If you are in the prototyping phase of your model and you feel that you are working with a lot of convex-ish functions, then working with `Convex.jl` might be a good idea.\n", " * For example, suppose, in the last problem you are interested in finding a sparse portfolio with the risk being less than some bound. Within convex optimization framework, one way doing this is by minimizing the $\\ell_1$​ norm of $x$​, i.e., consider the modified objective $\\mu^\\top x + \\gamma \\| x\\|_1$​ and the additional constraint $x^\\top \\Sigma x \\leq \\delta$. If we want to do this modification via `JuMP`, then the right approach is reformulate the $\\ell_1$​ norm via epigraph etc, but `Convex.jl` will take this term as it is.\n", "\n", "\n", "$\\|x\\|_1$ = `norm(x,1)`\n", "\n", "$x^\\top \\Sigma x$ = `quadform(x_sparse,Σ)`" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Problem\n", " Name : \n", " Objective sense : minimize \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 152 \n", " Affine conic cons. : 2 (54 rows)\n", " Disjunctive cons. : 0 \n", " Cones : 0 \n", " Scalar variables : 102 \n", " Matrix variables : 0 \n", " Integer variables : 0 \n", "\n", "Optimizer started.\n", "Presolve started.\n", "Linear dependency checker started.\n", "Linear dependency checker terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 50\n", "Eliminator terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator - tries : 2 time : 0.00 \n", "Lin. dep. - tries : 1 time : 0.00 \n", "Lin. dep. - primal attempts : 1 successes : 1 \n", "Lin. dep. - dual attempts : 0 successes : 0 \n", "Lin. dep. - primal deps. : 0 dual deps. : 0 \n", "Presolve terminated. Time: 0.00 \n", "Optimizer - threads : 16 \n", "Optimizer - solved problem : the dual \n", "Optimizer - Constraints : 51 \n", "Optimizer - Cones : 3 \n", "Optimizer - Scalar variables : 105 conic : 55 \n", "Optimizer - Semi-definite variables: 0 scalarized : 0 \n", "Factor - setup time : 0.00 \n", "Factor - dense det. time : 0.00 GP order time : 0.00 \n", "Factor - nonzeros before factor : 1326 after factor : 1326 \n", "Factor - dense dim. : 0 flops : 1.81e+05 \n", "ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME \n", "0 1.0e+00 1.0e+00 1.7e+00 0.00e+00 -0.000000000e+00 -7.071067812e-01 1.0e+00 0.00 \n", "1 3.9e-01 3.9e-01 3.3e-01 4.94e+00 9.082497634e-01 9.221284742e-01 3.9e-01 0.00 \n", "2 3.0e-02 3.0e-02 5.4e-03 2.00e+00 9.183712762e-01 9.175358637e-01 3.0e-02 0.00 \n", "3 7.2e-03 7.2e-03 4.4e-04 1.06e+00 9.097977471e-01 9.084273682e-01 7.2e-03 0.00 \n", "4 6.0e-04 6.0e-04 6.4e-06 1.01e+00 9.063941208e-01 9.062100349e-01 6.0e-04 0.00 \n", "5 6.0e-05 6.0e-05 1.5e-07 1.00e+00 9.059408105e-01 9.059210277e-01 6.0e-05 0.00 \n", "6 2.1e-05 2.1e-05 3.3e-08 1.00e+00 9.059112673e-01 9.059044975e-01 2.1e-05 0.00 \n", "7 2.7e-06 2.7e-06 1.6e-09 1.00e+00 9.058994673e-01 9.058985863e-01 2.7e-06 0.00 \n", "8 2.3e-07 2.3e-07 3.9e-11 1.00e+00 9.058978670e-01 9.058977909e-01 2.3e-07 0.00 \n", "9 8.5e-09 8.5e-09 2.7e-13 1.00e+00 9.058977526e-01 9.058977498e-01 8.5e-09 0.00 \n", "Optimizer terminated. Time: 0.00 \n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39m[Convex.jl] Compilation finished: 0.3 seconds, 19.583 MiB of memory allocated\n" ] }, { "data": { "text/plain": [ "0.9058977525892176" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Define the problem (student)\n", "δ = 0.5\n", "x_sparse = Variable(n)\n", "objective_sparse = - dot(x_sparse,μ) + γ*norm(x_sparse,1)\n", "constraint_linear = ( sum(x_sparse) == d + sum(x0) )\n", "constraint_pos = ( x_sparse >= 0 )\n", "constraint_additional = ( quadform(x_sparse,Σ) <= δ)\n", "problem_sparse = minimize(objective_sparse, [constraint_linear, constraint_pos, constraint_additional])\n", "\n", "## Solve the problem\n", "solve!(problem_sparse, Mosek.Optimizer)\n", "\n", "## Extract the solution\n", "x_sol_sparse = Convex.evaluate(x_sparse)\n", "p_star_sparse = Convex.evaluate(objective_sparse)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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V5EYJtwj5HCaCqHw/E5qNMQRmhCBuZ1F2bJPfepTJ5988vLly//4xz+effbZN9100/jx4+0H/PnPf7711ltff/31iRMnfv/73z/rrLNee+01Sml/f/+uXbs+/PBDSunWrVv7+voAQFXVs84668Ybbzz11FM3bNiwYMECZiA1TUulUgDAXphKpTZt2rR3794DDjjgggsuOOSQQ+bNm7dq1apoNJrL5RYvXvzII48sW7asEd+IjVEM4s+fP7+kvWxPTw+LkTLGjRt30UUXlbxKEISlS5eO3qo4AEB1DUXiPDTK4TSXvSp8/y3TbIgLdFAn+vEnSsWT//Vf/3XUUUcdcsghp512Wrn5efTRR88999yJEycCwGWXXXb11Vd/8MEHzFh+4xvfQAjZdShr1qzRdZ1J92fMmMGyXeV8/etfB4Du7u7DDjvsvffeO+SQQ6ZMmfLUU0+98sormUwGY/zqq6+2lSHk+BZq6CgS5wX1HE5z6Q3BE8c18yYcDAYXLlz4j3/8g0UvS+jr65s9ezZ7LElSR0fH3r17mSHs7e0tOTidTicSCeuf9sd2rOclSWKZwiuvvPKFF1648MILI5HI+vXrS1KMjaEN5bycmhQMIfcIOZyxzRNPPHHvvffecccdK1as2Lt3b8n/Tp8+fdWqVezxtm3b+vv7qxR2z5o164MPPtizZw/75yuvvOJyDQ899NCPf/zj884777TTTjMMw/uHGAG4Rzgm0TUUjZOB3c1eB4fDaRq7du264IILfve73y1evHj16tXnnXfeY489Zo92fvnLX16wYMEtt9xy0EEHXXPNNeeff35nZ2el/s8TJ04899xzly1btmLFiueffz6VSrmcoDtr1qxf/epXhJC//vWvL7zwgiW9aSTcIxyLUENDYe4RcjhjmhdffPGHP/wh6wL9/e9//9BDD924caP9gH333fcf//jHO++8c8sttyxduvTWW28FgGAw+K1vfcsqEu3o6PjKV77CHv/yl7+8+OKLN2/efM455yxatIj1Qpk+ffrpp58OAJIkfetb37Iqv08++eSDDjoIAG6//fZwOHzdddeFQqHf//73bD2TJk0qLyIcPVBTtKojQiAQ0HXdXlAfj8ebu6RWoe+33zc7J5hvPjfhqt80ey2tAT+7PCHLMi+oL0dRlCoeVRuwadOmiRMnSpK0evXqT3/60y+++KKVYhwR5s6d+8c//vFjH/vYiF+P/Ewdi1BDw5G4wT1CDoczcjz77LNXX301QkgUxZtvvnlkreCowg3hWITqOo7ECS+o57QZlGpb1or7HtDsdYxRWIOUZq+iHniOcCxCDQ2FY9TQoGUD4xxOOcae7XvvvK7Zq+C0HtwQjkWoriFRQkGB6nwuDKd9IHKOzdrkcDzBDeFYhBoaBAQkhrlwlNNOUCVHdW4IR5hdu3b19/eXPJlOp0tUP5TSXbt2sZEJJezduzeXywEAIWTHjh2ZTKbkAKv6sFlwQzgWoboOgoClEE8TctoJIud4kMM9L7/88syZM7dv3w4Azz777IEHHlhSU7969epZs2Ydc8wxRx555Cc+8QkA2LZt2+TJk7/2ta998pOfnDZt2r//+7+zI+++++7999//uOOOmzx58iWXXMKKER599NFjjjnmxBNPPOyww/77v//78ccfnzZt2pIlSxYsWLBixQr2wl/+8pdTpkw5+uij99tvv5UrVzby49vhYpkxiaGhoIjEENX4XYPTPhAlB4RQ00CBFrmzESKveRnMRrRTCXSNF6fOsj9z+OGHn3POOWeddda999577rnn3n777d3d3fYDfvKTn1x44YVXXHEFADAbSQjZtm3b+PHj16xZs3fv3o9//ONHHXXUCSec8NnPfnbdunWCIOTz+SOPPHLlypXHHXecpmlPP/30008/ffTRRwPAokWLbr311hNOOMF6t+eee+7GG2987bXXxo0b98Ybb5xwwgnr1q1ryui9FjldOCMK1TUICkgK8UlMnHaCyjkAAEOHFjGERM7Krz9LaSPGTwjjJpcYQgD4zne+8/zzz8+fP/+LX/ziscceW/K/06ZNu+eee8aNG3f88cfbB1OwCUrd3d3Lly9//PHHTzjhhPHjxz/44INvvvnm3r17dV1/44032HyFuXPnMisIAFOnTr3ppptUVf3c5z7HLO7999+/cOHCt99+GwBkWRZF8e233160aNGofQcVaY3ThTOy0IJHyHOEnLaCKHlgU8akcLPX4goc7eg67z+auIBAIDBnzpxnnnnGMld2vv3tb0+ZMuWhhx76yle+csopp9x5550AEAwGLaets7Nz8+bNAHDxxRdv27bt/PPPTyaTu3fvZhlBAOjp6bHe7Y477rjtttt+/vOfn3322f/5n//5ne98Z/fu3bt27Xr66afZ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0eh4r2IyUfDrcUxyhHPnzi0qKvrrX/8KALIs7969e82aNcbr3t54BmjNmjWvvfaa8XrHjh033HADAKxYseL06dMXL14EgN7e3sOHD69atWosVkggEAgEgsGYhEYZhvn2t7/9pS996etf//ru3btra2sNQ/jGG2/ce++9AwMDALBp06Zly5bZ7XZFUf77v//7/fffB4Dy8vINGzbcdtttn//85zdv3rx+/foZM2aMxQoJBAKBQDAYqz7CBx988KmnngoEAnfeeeeOHTuMbEFTU9OvfvUrY4f58+cfOHDA6XQWFxcfPHiwtjY+7uiXv/zld77znf7+/m9+85tPPvlkjh8XDof/9re/jcUf8nEl4Y4TcmHPnj2x2Eh6dIRBDh8+nKXMjZDCpUuXWltbx3sVk4ZYLLZnz57CnhPhvCq7JgI0TSuKYiRC9+7d+9BDD+3bt2+8FzU5kCTJ4/GQO3vuNDU1/f73v29uttz2NDX50pe+tGzZsq9+9avjvZDJwX/8x3/s37//6aefHu+FTA4OHTr0hS984fDhwwU851SZNUogED5KJu8T9kcP+a7GHWIICQQCgTClIYaQQCAQCFOayZ0jXLNmjVGGEwgETp8+fc0114z3oiYHuq6/+eabRssKIRfefffdxsZGZ15T/Kcgx44d83g8yVOiCFno6OgIBoPz5s0b74VMDsLh8NGjR6+99toc97/zzju/9rWvZd9nEhvCZ599try83Hitqurly5enT58+vkuaRJw9e3bWrAJLB3yMOX/+/PTp03MaUUEA6OnpcTgcDkfhx9x/LAmHw6IolpZanIA6VdF1/eLFizU1NTnuP2vWrLq6EVQPJ7EhJBAIBAJh9JAnXAKBQCBMaYghJBAIBMKUhhhCAoFAIExpiCEkEAgEwpRmTIZuf8RomrZr166urq7rr79+5syZ472cCUp7e/vZs2eXLFnidrsTGwOBwGuvvUZR1E033eRyucZxeROKWCy2d+/ezs7OWbNmrVixIllXb+/evadPn168eHFjY+M4rnBCEQqF3n///YsXL3o8njVr1ng8Q/ryR48eff/99+vr61euXDmOK5yY+P3+AwcONDc3J+pF/X7/a6+9RtM0uR4TYIzfeOONxNvp06fPmTPHeB0MBl977TWM8U033ZT8q8vzYyY1uq7ffPPNV1999YYNG4qLi3fu3DneK5pwyLLs8/l8Ph9N0++9915i+6VLl6ZNm9bS0nL77bfPmjWru7t7HBc5oSgpKVm5cuUXv/jFhoaGdevWybJsbH/wwQcbGhruv//+8vLy3/72t+O7yInDY489dsMNN3zlK1/51Kc+VVRU9MEHHxjbn3rqqbKysvvvv3/27Nlf//rXx3eRE5DPfe5zDMO88sorxtsLFy5UV1fffffdn/nMZ2pra3t6esZ3eRMERVEAYPXq1WvXrl27du0TTzxhbO/q6qqpqbn99ttbWlqmT5/e0dExmk+Z9Ibw9ddfnz59eiQSwRg/+eSTS5cuHe8VTTg0TWtvb8cYu93uZEP4rW99a/369cbrlpaWf/7nfx6f9U082trajBehUKisrGzLli0Y47Nnz9psts7OTozxnj17ysvLJUkaz1VOSL785S9v2LABYyzLckVFxa5duzDGXV1ddrv9zJkz4726CcSWLVtaWloaGhoShnDTpk333Xef8fqOO+747ne/O36rm0AYhjAQCKRsf/TRR1taWozX69evf+ihh0bzKZM+R7h169ZbbrnFbrcDwN133/3ee+/19PSM96ImFhRFJVSuktmyZcvdd99tvG5padm6detHu66JS6L91ul0Op1OWZYBYPv27dddd11lZSUAXH/99ZqmGSKahGQikUhJSQkAHDhwQFEUQ4i0vLx82bJl27ZtG+/VTRQCgcDDDz/885//PHnj1q1byfVoxr59+/bs2WNo2RoU9uua9Iawo6MjMcnJ5/PZbDYihJYjyV9ddXU1+d7SefbZZ1VVvfHGGwGgo6Nj2rRpxnaEUFVVFfnGEuzbt+/GG29csGCBJEmPPPIIAHR0dFRVVSVm8VRXV3d2do7rGicQ3/jGNzZu3Jgygq6zs5NcjxmpqKh44oknHn300VmzZr388svGxsLevia9IdQ0LXnwFcMwqqqO43omEZqmJcpAaJom31sKe/fu3bRp03PPPWeULaiqmlw1Q35pyTQ0NDz88MMbN248ePDgn//8Zxj+6wLyA0vijTfeOHv2bLpYI7keM8IwzKVLl7Zu3fr222//6le/+vKXv2wIqRb265r0VaOVlZWJWGg0Gg2FQlVVVeO7pMlCZWVlb2+v8bq7u5t8b8ns37+/paXlD3/4w/Lly40tVVVVR44cSexAvrFkSktL165dCwCCIPzoRz9av3598oUJAN3d3aTO1uD73/8+z/MPPPAAAPT09Pz7v/+7pml33XVXRUUFuR4zQtO08eKee+657777zpw5M3/+/MLevia9R7h69epdu3bpug4AO3funD17NvkB5ciaNWt27NhhvN65c+fq1avHdTkTiEOHDt1+++1PPfXUunXrEhtXr1799ttvRyIRADh69GgwGLz66qvHb40TlL6+PqM/5xOf+EQ0Gm1tbQWAaDS6d+9eI19IeOyxxzZs2GDUQNrt9ubm5vr6egBYvXo1uR6zc+jQIQAwIqKF/bomvUd4xx13/Ou//us999xz3XXX/eQnP/nBD36QHJAhGDz22GM9PT2xWOzxxx8vKyv7/ve/X1xcvGnTpuXLlzudTlVVX3zxxf3794/3MicEiqJ88pOfrKys3Lp1q5GBb2lpWbduXXNz86pVq2699dbbb7/9t7/97caNG0mnl8FnP/vZmTNnlpeXt7W1Pffcc88//zwAOJ3OjRs33nPPPffff/+WLVtWrly5aNGi8V7phCD5lv3II48sW7asqakJAL75zW+uWLHCbrfLsvzyyy+TUiyDzZs3b9myZeHChYFA4Omnn/72t79ttAxu3LhxyZIlXq+XYZhnnnnmnXfeGc2nfBzUJwKBwDPPPNPT07N27Vry1JmRF154IRAIJN7ee++9hrTeqVOnNm/ejBBav359xsrSKYimaU8//XTylqVLlzY3NwOALMv/9V//1d7evmTJkjvvvHOcFjjh+OCDD3bv3t3b21tZWXnbbbcly3v96U9/2r9/f21t7Re+8AWO48ZxkROTF1544dprr00oCp04ceLFF1+kKGr9+vVEJc2gu7v7L3/5y7lz5xwOx8qVK5MnM7S3tz/33HMY48997nOzZ88ezad8HAwhgUAgEAh5M+lzhAQCgUAgjAZiCAkEAoEwpSGGkEAgEAhTGmIICQQCgTClIYaQQCAQCFMaYggJBAKBMKUhhpBAmNy89dZbmzdvHu9VEAiTGNJHSCBMbv7hH/7hjTfeaG9vH++FEAiTFeIREggEAmFKQwwhgUAgEKY0xBASCB8rdu7cWVVVtWnTJkOShUAgjAgxhATCx4ff/e53t95662c/+9mf/vSnyYLVBAIhC+RSIRA+Jvzwhz/csGHDL37xi5///OdEjIxAyJ1Jr0dIIBBUVf3KV77ywgsvvPLKK5/+9KfHezkEwiSDeIQEwqSnt7f3D3/4w4033njzzTeP91oIhMkHMYQEwqSnsrLylVde2bFjx/r161VVHe/lEAiTDGIICYSPAzfffPOrr766bdu2u+66S5Kk8V4OgTCZIIaQQPiYcP3117/66qtvvfXWXXfdJYrieC+HQJg0EENIIHx8WL58+e7du/fv33/LLbeEw+HxXg6BMDkgs0YJBAKBMKUhHiGBQCAQpjTEEBIIBAJhSkMMIYFAIBCmNMQQEggEAmFKQwwhgUAgEKY0xBASCAQCYUpDDCGBQCAQpjT/HxZpyGTmFYO4AAAAAElFTkSuQmCC", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Plots, Suppressor\n", "# gaston()\n", "# inspectdr()\n", "plot([1:n],[x_sol_JuMP x_sol_sparse], xlabel = \"k\", ylabel = \"x[k]\", label = [ \"x original\" \"x sparse\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example of SOCP: time series analysis\n", "\n", "A time series is a sequence of data points, each associated with a time. In our example, we will work with a time series of daily temperatures in the city of Melbourne, Australia over a period of a few years. Let $\\tau$ be the vector of the time series, and $\\tau_i$ denote the temperature in Melbourne on day $i$. Here is a picture of the time series:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOx9ebgcVZn371R133sTEiIBEhL2RDbZRBQUgQ/xAZWBD5QZZFEUdfBDXAZ1ZJhhRMUFHRw2AZVRB2ZAQYGwSQxLIAQCJASykAAhe26Wm+Xut293V533++N0nTp1arm9VHVXbur35Lmprqo+5+2zvPs5hxERMmTIkCFDhl0VRqsJyJAhQ4YMGVqJTBBmyJAhQ4ZdGpkgzJAhQ4YMuzQyQZghQ4YMGXZpZIIwQ4YMGTLs0sgEYYYMGTJk2KWRCcIMGTJkyLBLIxOEGTJkyJBhl0YmCDNkyJAhwy6NTBBmyJAhQ4ZdGikVhDNnzpw1a1aVLxMR5zxReupDOqkCYNt2q0kIRjpbjHOezp0IU9uP6SQsYxS1Ip39mARSKgjnzZv38ssvV/myZVmlUilReurD0NBQOhno0NBQq0kIABGlk7BSqWRZVqupCEA6mwtpJcy27WKx2GoqAlAoFNIpC9PZj0kgpYIwQ4YMGTJkaA4yQZghQ4YMGXZpZIIwQ4YMGTLs0sgEYYYMGTJk2KWRCcIMGTJkyLBLIxOEGTJkyJBhl0YmCDNkyJAhwy6NTBBmyJAhQ4ZdGpkgbCpmb6JvzdtVNmvIkCFDhp0CuVYTsGtha4E27Sp7NWTIkCFxrFy5sqenJ6HCh4aGxo4dm1DhdWDSpEn7779/EiVngrCpSON+axkyZNhpcdppp02cODGfzydROBExxpIouQ4MDg7uueeec+fOTaLwTBA2FUSZLMyQIUNssG175syZU6ZMaTUhiePll1++6qqrEio8ixFmyJAhQ4ZdGpkgbCoo845myJAhQ8qQCcKmIpOCGTJkyJA2ZIKwqUjl6YQZMmTIsEsjE4RNBWWyMEOGDBlShkwQNhWZEMyQIUOGtCEThBkyZMiQIRHceuut3d3draZiZCS1jrBQKLz88ss9PT1HHHHE4YcfLm4ODAy8/fbb8p2DDz544sSJCRGQTmTrCDNkyLDr4Prrrz/rrLP22GOPwKePPPLIsmXLrrnmmiZT5UcignDjxo1HHHHEscceu88++8yePfvSSy/95S9/CeCNN94444wzjjzySPHa9ddf/6lPfSoJAlKLTApmyJBh1MOyLMuyOjo6tPv9/f3jx4+XH9evX7906dLod5qDRFyju++++6JFi+bMmfPAAw/MmzfvpptuWr16tXg0bdq0BQ52HSl42Ry7zCvXWbJMhgwZRjF+/OMfT5069eijj/72t78tb956660HHHDA8ccfP3ny5JtuugnAkiVLfvjDHz766KPTp08/88wzAfzgBz/Yb7/9jj/++KlTp959993NpDkRi3DcuHHjxo0T1/vuu28+nx8cHBQfS6XS3Llzx48ff+SRR+Zyu8oGbw+t5rd8xMwbmRTMkCFDsnh9O20fblJdk8bgmImezUiff/75O++8c9GiRVOmTPnJT36ybds2cf+ss8664oor8vn8pk2bTjjhhE996lNHH330ddddN2/evHvvvVe8c9FFF33/+983DOPdd9/96Ec/+slPfnLy5MnN+SGJi6Jf/vKXxx577Pve9z7xcXh4+Lrrrlu7dm0ul5sxY4YMH2ro7u5evXr1r3/9a/Gxo6PjH/7hH/yGtoBt27Ztbxm0twzjyPcAwNwtOGkSjFbvFisIY4wRYFm2bcDmxAm23eKTmARhraXBDyJKJ2GCJMNIXWZZOpsLaSXMdtBqQnQIqigmNflXb/J1g03SuA+fwG47yVTvPP744xdeeKHY+/Sqq676/ve/L+4feOCBM2bMWLZsWaFQGDNmzMKFC/3M/4ADDrjvvvtWrFhRLBbz+fzSpUv9grCO7jMMY8Stw5MVhA8++ODtt9/+3HPPCSZywgknrFu3jjHGOb/iiiuuvPLKZ555JvCLvb29GzduXLBggfhoGMYZZ5yx5557Br5cLpdt235yU27WRvb7j3IAn3vOfO6T9r6tPj+kXC6Xy2XGGMEslctlBstmREa5bKWBsNbS4AcRpZOwcrnMOR/5vaYjnc2FtBJmWVa5XE6hI0pQFZem9btTzZFfSgw7duyYNm2auB47duyYMWPE9fnnn9/W1nb++efncrnZs2f39/drXySi00477cgjjzzzzDNN03z44YcD36ljXOXzedMcoU0SHBOPP/74lVde+eSTTx522GHiTltbm7gwDOPSSy8966yzwr570EEHTZ8+XWoT0TBN07ZtM583TOroaAMAZrW1t3d0tNgkFOFixhhQ7ujo6GhDLscNgzo6EjkzpXqUy+Uw87qFEBZhCgkDYJpmQifdNIJ09iPSSphlWaZpppAwMexT6HKoA9OmTVu2bJm4Xr16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FBQUvPvuuxs2bHjvvff69OlDzr/88svp6ennz58nZ/r06bN48WJ8vH///oiICL9IRcD9iujdb7/9Njo6eteuXeSC5557jiRb2e32mJgYPGGleeSRR0gSTSOlcccI+/Xrt23bNny8bds2bMsrxcWLF7VaLU6GHjBgwLFjx/D5Y8eOER8g4cCBA2azuZ67it8c5eXla9euve+++3x+e/nyZYfDgcMS/fr127p1Kz4fsGbs16/fjh07cOxh165dsbGxZAVFVlbWrFmzunTpsnr16mHDhkl+eODAAZPJJFNNj4yMjEWLFuFEuIyMjNDQ0JycHIRQnz59KioqLl26BAAOh+PEiRNJSUkQwKbDgUASZ7JarTjp32azjR07Vq/Xr1ixggQLaex2+6+//uqX0hnnzp3Lzs7Gs5P6XN+yZcvp06ePGjXqf//7H36O7du31+l0+/btw/+F3bt39+/fv+GC/fzzz3fdddcHH3xAnKISDhw4YDAYvLfbPnjwoHfL5Ofn2+1273f2JnjmmWd27dq1adMmybqajIyMBx98cMiQIcuXLyc9fOHChUuXLt2+fTsdIZa7g9Gj1v79+0eOHLls2TL6LjzPk2Cww+Gw2+2S2JMgCIcOHVJhbZYbonHHCGfNmtWpU6cnnngiODj4nXfe2b17d4AFePHFF4uLi1NTU0tLS5cvX/7UU09hz/4zzzxz11132Ww2u93+73//+7PPPgOAd95558CBA2lpaefPn//www9feuklWcOZq1evTk5OJmF5LMCPP/6Ynp5usVg+/vjj3NxcHH544okn8LIwi8WyefPmgwcP+leSzz//fMuWLd99953BYCgrKxszZsztt98+cODA2NjY0aNH9+vX76233po3bx4exxcsWHD16lWdTrdmzZr+/fvfeeedAPDuu+/m5eW1a9fuwoULS5Yseemll3wO+jfK448/jlNvnn322ZCQkLfffjsuLu7uu+/G35aXlx88eBB/TExMzM3NHT58+KRJk7DTDwv22GOP3XbbbWaz2eFwrF69Oi8vr+FSWSyWJ554As9UZsyYgRe6NG/efMiQIXfeeee999579uzZjz76CI+PL7zwwqZNmyZPnjxr1iwAiIyMfOWVV2w2W9++fW+//Xaj0bhhwwan0zl58uSGCzZq1Kjq6ur8/PwZM2YAQM+ePadMmQIAb7311tGjR8+d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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using DelimitedFiles\n", "τ = readdlm(\"img//melbourne_temps.txt\", ',')\n", "n = size(τ, 1)\n", "plot(1:n, τ[1:n], ylabel=\"Temperature (°C)\", label=\"data\", xlabel = \"Time (days)\", xticks=0:365:n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A simple way to model this time series would be to find a smooth curve that approximates the yearly ups and downs.\n", "We can represent this model as a vector $x$ where $x_i$ denotes the predicted temperature on the $i$-th day.\n", "To force this trend to repeat yearly, we simply want to impose the constraint\n", "\n", "$$\n", " x_i = x_{i + 365}\n", "$$\n", "\n", "for each applicable $i$.\n", "\n", "We also want our model to have two more properties:\n", "\n", "- The first is that the temperature on each day in our model should be relatively close to the actual temperature of that day and equal if possible.\n", "- The second is that our model needs to be smooth, so the change in temperature from day to day should be relatively small. The following objective would capture both properties:\n", "\n", "$$\n", "\\sum_{i=1}^{n}|x_{i}-\\tau_{i}|+\\lambda\\sqrt{\\sum_{i=2}^{n}(x_{i}-x_{i-1})^{2}}=\\|x-\\tau\\|_{1}+\\lambda\\|Ax\\|_{2},\n", "$$\n", " where $A$ is a matrix of size $(n-1)\\times n$ with $A_{i,i}=-1,A_{i,i+1}=1$\n", "for $i=1,\\ldots,n-1$ and the rest of the elements being zero. So,\n", "the optimization problem we want to solve is: \n", "\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{R}^{d}}{\\mbox{minimize}} & \\|x-\\tau\\|_{1}+\\lambda\\|Ax\\|_{2}\\\\\n", "\\mbox{subject to} & x_{i}=x_{i+365},\\quad i=1,\\ldots,n.\n", "\\end{array}\n", "$$\n", "This is an SOCP, because it can be written as: \n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x,u,t}{\\mbox{minimize}} & \\sum_{i=1}^{n}u_{i}+\\lambda t\\\\\n", "\\mbox{subject to} & x_{i}=x_{i+365},\\quad i=1,\\ldots,n, \\\\\n", "& \\|Ax\\|_{2}\\leq t,\\\\\n", " & \\vert x_{i}-\\tau_{i}\\vert\\leq u_{i},\\quad i=1,\\ldots,n.\n", "\\end{array}\n", "$$\n", "\n", "Here, $\\lambda$ is the smoothing parameter. The larger $\\lambda$ is, the smoother our model will be.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will solve this problem using `Convex.jl`, because it would allow us to input the problem directly without manually converting into the SOCP format. " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Variable\n", "size: (3648, 1)\n", "sign: real\n", "vexity: affine\n", "id: 709…213" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Solution using Convex.jl\n", "x = Variable(n)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "eq_constraints = [ x[i] == x[i - 365] for i in 365 + 1 : n ];" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "λ = 100 # smoothing parameter\n", "# Define the matrix A\n", "A = zeros(n-1,n)\n", "for i in 1:n-1\n", " A[i,i] = -1\n", " A[i,i+1] = 1\n", "end" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "+ (convex; positive)\n", "├─ sum (convex; positive)\n", "│ └─ abs (convex; positive)\n", "│ └─ + (affine; real)\n", "│ ├─ …\n", "│ └─ …\n", "└─ * (convex; positive)\n", " ├─ [100;;]\n", " └─ norm2 (convex; positive)\n", " └─ * (affine; real)\n", " ├─ …\n", " └─ …" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "smooth_objective = norm(x-τ,1) + λ*norm(A*x,2)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "smooth_problem = minimize(smooth_objective, eq_constraints);" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Problem\n", " Name : \n", " Objective sense : minimize \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 10579 \n", " Affine conic cons. : 1 (3648 rows)\n", " Disjunctive cons. : 0 \n", " Cones : 0 \n", " Scalar variables : 7297 \n", " Matrix variables : 0 \n", " Integer variables : 0 \n", "\n", "Optimizer started.\n", "Presolve started.\n", "Linear dependency checker started.\n", "Linear dependency checker terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 6931\n", "Eliminator terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator - tries : 2 time : 0.00 \n", "Lin. dep. - tries : 1 time : 0.02 \n", "Lin. dep. - primal attempts : 1 successes : 1 \n", "Lin. dep. - dual attempts : 0 successes : 0 \n", "Lin. dep. - primal deps. : 0 dual deps. : 0 \n", "Presolve terminated. Time: 0.02 \n", "Optimizer - threads : 16 \n", "Optimizer - solved problem : the dual \n", "Optimizer - Constraints : 365 \n", "Optimizer - Cones : 1 \n", "Optimizer - Scalar variables : 7129 conic : 3648 \n", "Optimizer - Semi-definite variables: 0 scalarized : 0 \n", "Factor - setup time : 0.00 \n", "Factor - dense det. time : 0.00 GP order time : 0.00 \n", "Factor - nonzeros before factor : 1095 after factor : 1457 \n", "Factor - dense dim. : 1 flops : 1.97e+04 \n", "ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME \n", "0 1.1e+02 9.9e+01 1.0e+02 0.00e+00 4.086680000e+04 4.076680000e+04 1.0e+00 0.05 \n", "1 6.2e+01 5.9e+01 7.7e+01 -9.82e-01 4.155481840e+04 4.145670654e+04 5.9e-01 0.05 \n", "2 2.5e+01 2.3e+01 4.5e+01 -9.26e-01 4.204225745e+04 4.195506876e+04 2.3e-01 0.05 \n", "3 1.9e+01 1.8e+01 3.5e+01 -5.31e-01 3.940158976e+04 3.932373602e+04 1.8e-01 0.06 \n", "4 7.6e+00 7.1e+00 1.0e+01 -2.09e-01 2.595365910e+04 2.591486891e+04 7.2e-02 0.06 \n", "5 5.0e+00 4.7e+00 4.9e+00 9.67e-01 1.894619079e+04 1.892223712e+04 4.7e-02 0.06 \n", "6 1.6e+00 1.5e+00 7.9e-01 1.07e+00 1.127738229e+04 1.127040378e+04 1.5e-02 0.06 \n", "7 3.5e-01 3.3e-01 8.1e-02 1.05e+00 8.823201745e+03 8.821705546e+03 3.3e-03 0.06 \n", "8 8.6e-02 8.1e-02 1.0e-02 1.01e+00 8.324948274e+03 8.324577487e+03 8.2e-04 0.06 \n", "9 2.8e-02 2.7e-02 1.9e-03 1.00e+00 8.213689552e+03 8.213567509e+03 2.7e-04 0.06 \n", "10 6.5e-03 6.2e-03 2.2e-04 1.00e+00 8.171361626e+03 8.171333553e+03 6.2e-05 0.06 \n", "11 1.3e-03 1.2e-03 2.0e-05 1.00e+00 8.161201264e+03 8.161195578e+03 1.3e-05 0.06 \n", "12 1.6e-04 1.5e-04 8.4e-07 1.00e+00 8.158933158e+03 8.158932464e+03 1.5e-06 0.06 \n", "13 8.5e-06 8.0e-06 1.0e-08 1.00e+00 8.158634545e+03 8.158634508e+03 8.1e-08 0.06 \n", "14 7.6e-07 7.1e-07 2.7e-10 1.00e+00 8.158619414e+03 8.158619411e+03 7.2e-09 0.06 \n", "15 6.4e-08 6.1e-08 6.6e-12 1.00e+00 8.158618059e+03 8.158618059e+03 6.1e-10 0.06 \n", "Optimizer terminated. Time: 0.08 \n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39m[Convex.jl] Compilation finished: 1.2 seconds, 616.829 MiB of memory allocated\n" ] }, { "data": { "text/plain": [ "Problem statistics\n", " problem is DCP : true\n", " number of variables : 1 (3_648 scalar elements)\n", " number of constraints : 3_283 (3_283 scalar elements)\n", " number of coefficients : 13_307_905\n", " number of atoms : 13_139\n", "\n", "Solution summary\n", " termination status : OPTIMAL\n", " primal status : FEASIBLE_POINT\n", " dual status : FEASIBLE_POINT\n", " objective value : 8158.6181\n", "\n", "Expression graph\n", " minimize\n", " └─ + (convex; positive)\n", " ├─ sum (convex; positive)\n", " │ └─ abs (convex; positive)\n", " │ └─ …\n", " └─ * (convex; positive)\n", " ├─ [100;;]\n", " └─ norm2 (convex; positive)\n", " └─ …\n", " subject to\n", " ├─ == constraint (affine)\n", " │ └─ + (affine; real)\n", " │ ├─ index (affine; real)\n", " │ │ └─ …\n", " │ └─ Convex.NegateAtom (affine; real)\n", " │ └─ …\n", " ├─ == constraint (affine)\n", " │ └─ + (affine; real)\n", " │ ├─ index (affine; real)\n", " │ │ └─ …\n", " │ └─ Convex.NegateAtom (affine; real)\n", " │ └─ …\n", " ├─ == constraint (affine)\n", " │ └─ + (affine; real)\n", " │ ├─ index (affine; real)\n", " │ │ └─ …\n", " │ └─ Convex.NegateAtom (affine; real)\n", " │ └─ …\n", " ⋮\n" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve!(smooth_problem, Mosek.Optimizer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot our smoothed time estimate vs the original data." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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GLzqqqtGjhy5YsWKdLVNK7IIKVzIvspCoKIuqdWDy+F1UyvAd2X4TQn+4tRM06GhftWC4PrFaasu0Hdgh2vv5u88/PDDy5cvp/trV1RUAEAkEvnqq682bdo0cODAZ5999rLLLps7d+5bb7311Vdf3XHHHZMnT45Go5MnT3700Udvv/32oqKiESNGnHfeeePGjfvjH//Yq1evJUuWRKPRK6644rnnnnvyySefeeaZ2bNnL14c/40rV65cv359mzZtpkyZMnPmzOeee449Gj58+Ouvvz516lS6j+aaNWvC4TAAvPzyy2+//faCBQv69u2bnoaiaD2CUOcadZNvdEkRUTTF1D1UefDQuoEu875E9myOHjV6Dp2DWltpEIR9+vR57LHHpk6devHFF7N9my+++GK6BebYsWPz8vJ+9rOf0eujR4+Gw+E9e/bU1tbedtttAHDKKafccMMNX3zxxbhx4xYuXLh8+XJBELKysu66665nn332ySefNNMwZcoU6oMdN26cyw+saJ2C0FUwLHB0LZ0ePHhwDp2m/FkuOZy26nyd8g13vvjii1deeeXxxx/fuXPnzJkzqXhr27Ytfer3+/lrur11dXV1hw4d2KapHTt2PHr0qKqqtbW1HTp0oDc7depUVVVlSQP/wvSH/ZqFViQI3bqzDCa49uBauMqS8NAyuK0PBX8g0Lt/Bgno2rXrX//617/+9a+fffbZPffcQwVhcpx++ulFRUXHjx+np1Vs2bLlggsukCSpX79+BQUF1Hu5ZcuW/v37A0AgEFAUG87V8fv9trynWWhFgpD+ddvw16/rcCF5Hjy0SnhzjYeiKL/73e8mTpzYpUuXzz77rInbpPXq1eu666676aab7r///nXr1q1fv/71118HgP/5n/+57777ZFmuq6ubPn36e++9BwCDBw/eunXrzJkz27dvz/ZsawGGDh06ffr0c889d8KECaeeemqL39MstCJB6FaLkId3+sQJAa+bPLQySJI0YsSIzz//PBwODxky5J///CcADB8+vH379rRAz54977jjDnotiuJDDz1ET8174403XnvttXfffbdnz56bNm2ipuHUqVPz8/M//fTTQCAwf/58um1p//79P/vss2+++aa6uhoArrvuOnYe+6BBg6699loDSaeccspvfvMbet27d+8777yTXr/33nsffvjhwYMHGxoa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mJjhw4dPnTq1e/fupPDs2bNNmjQZPXr0iBEj0tPTi4qK6i/Y7t27zWZzTEyMXq9ny5977rnExMT7779/+PDhKSkpBQUFoig+9dRTqampEyZMGD58eERExK5du8jFEydOzMjIINU1cuTI+kslimKPHj06duw4bdo0Mg4oLi4m5W3btrVarUajcdWqVfTivXv3xsfHT506dcKECSkpKadPnyblH330UUxMzMyZMzMzM6dNmxYQwWJjY3v37j1t2rSWLVvecsstNTU1oiheuHABIUTbDH0358+fn56eTsvLy8tJOUKob9++pPD111+vv1Qff/xxTEzM6NGjJ0yYYLValy1bRsq3bNkSExNzzz333HbbbW3atCGv29atWyMiIkaMGDFlypTw8HAqwJUrVzIzMwcOHDhp0qS4uLjffvut/oKtW7eO9Frjxo0LCwtbunSpKIpOp9Nqtfbr12/atGnNmjUbPnw4efVKS0s7dOjQp0+fBx98sEWLFnfffTf5kXnz5jVr1oxWI7m44dKwFeELL7wwZMgQcnz33XfPmTNHRWHef//91q1bk+NHHnlk0KBB5IWknDlzJiQkJMhSFRUVGQwG7/dn06ZNYWFhTqdTFMXZs2fPnDmTlA8ePJgqyEBx6tSp6urqu+66i1WEe/bsiY2NvXLliiiKH330UVZWliiKNTU1oaGhO3bsEEXR4XC0b9/+008/FUWxsLDQYDAEVqqamppTp06R3RtkitBms3Xt2nXevHlUEVZWViYlJX300UeyH3nkkUcmTZpEjseOHUsGHPXk6tWr586d++WXX2SKMCIiYsuWLeS4T58+CxcuFEXxxIkTtA969NFHBw0aRI4nTpy4aNGi+gvDQmvJ4XB07tz55ZdfJh+PHz9OHharCAcNGvTUU0+R4/vuu2/evHnki+np6Z9//rkoisXFxeHh4QcOHAigYKWlpXFxcevWrRNF8cKFCxhj74vnz58/f/5873KE0MWLF+svDKWgoIBq2Q8++CApKYkct2/f/u233ybHY8eOfeGFF0RRPH/+PHkXRFHcsGFDSEiIzWYTRXHhwoX9+/cn7+l99903Y8aMAEooiuKSJUsyMjLIMa3GkpKSyMjIr776ShTFzz77LD09nbSxY8eOIYSI5p43bx59vn8CGnaMcP369WPGjCHHY8eOXb9+vYrClJeXU8fFihUrHnzw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zZszMjJ27979lZuIiIhLly4VFhZ6/yzZJZjdoJjsdTVmzBhawh4TTp48+eqrrz7wwAOzZs164403AODYsWPk1Jw5c4qLi9euXUs+vvvuuzk5OWSzpw4dOjgcjqFDh65cuZLauyzR0dHFxcUOh+N6KobD0Qo8WYbDUZbIyEh6bDAYIiIiyCaLtITsAF5VVXXlypWvv/5atrtvZGTk+fPnyRbKLCSPhgTwCGRTwISEBFqSmJjIfuXdd9+dPR4IMJUAAAOZSURBVHt2u3btunTpQqW6cuUKOcjMzOzZs+c777wzbty4vLy8ffv2ffLJJ+RUz549ly1b9vLLL0+cOFEQhF69er300kt0hz8AsNlsGGNFN5rmcJSDK0IORxMYjUaj0Th16tS33367LtfHx8cDQHFxMS0h0zYuXrxINpsFgAsXLrBfeeaZZ26//Xaa1VJUVCQLQM6ePXvKlClHjx5dvHhxfHz8iBEj6KmpU6dOnTr17NmzW7ZsefHFFwcNGnT8+HFqjxYXF8fHx7MKnsNpQPARHIejCRBCffr0+fLLL8vKyupyfbt27UwmE4nzEdq2bQsAGzdupCXscU1NTUFBQadOnWjJF198IfvNsWPHxsXFvf7666tWrbrrrrvI5uksTZo0mT59+uuvv37lypXDhw/T8p9//rlr1651EZvD0SBcEXI4WuHZZ58tKioaMWJEXl5eZWVlQUHBf//73/vvv9/nxUajsVevXt999x0t6dixY+/evZ988smNGzdWVlZu2bLlueeeo1aawWBo06bNe++99+uvv1ZWVn766afPPvus7DcNBsP06dPfeuut8vLyu+++m5a/9957b7755vHjx+12e2Fh4fLly0NCQtq0aUPOlpSUHDp0KDc3N5B1weEEEa4IORytkJ2dvXHjxj/++KNbt24hISFNmjSZNGlSVVWVv+tnzJixffv2oqIiWrJq1aoWLVoMGTIkJCTk9ttvf+2119i43ZIlS65evdqmTZuQkJDZs2e/88473r85c+ZMAMjNzW3WrBkttNvtTzzxRPPmzfV6fXJy8p49ez755BPqF/3kk08MBsOECRPqXwMcjirwtUY5nBvElXgtzRBxOp0IoXpGy44fP37x4sWIiIj09HSDweDvspqamtatW8+aNWvBggVs+a+//lpeXp6ZmWk2m72/cuTIEQDIyMjw9nwCwO7du3v06LFmzZrRo0ez5Q6H4+TJk8XFxTExMWlpaeyqNN26devateu//vWvG/hPORwtwBUhh9OA+fjjj++9994TJ07QBJn64HQ6b7311iNHjhw5cqSOC7Bt2LBh/PjxR48eJck7HE5DhCtCDqcBI4riiRMnEhMTvY2/62XGjBkbN24sKipau3bt8OHD6/it4uJim83GztngcBocXBFyOBwAgP/+97+XLl3Kzs7OyMhQWxYOJ6hwRcjhcDicRg3PGuVwOBxOo4YrQg6Hw+E0argi5HA4HE6j5v8B4/RTwlgsbOIAAAAASUVORK5CYII=", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Plot smooth fit\n", "plot(1:n, τ[1:n], label=\"data\")\n", "plot!(1:n, Convex.evaluate(x)[1:n], linewidth=2, label=\"smooth fit\", ylabel=\"Temperature (°C)\", xticks=0:365:n, xlabel=\"Time (days)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Matrix completion problem: how to reconstruct a distorted image\n", "\n", "Suppose we are given a noisy image, and we want to clean the image up. In countless movies and tv shows, we have seen our hero figuring out who the killer is by polishing a very noisy image in seconds. In reality, this takes a while, and usually is done by solving an SDP. \n", "\n", "Let's take a look at an example. Suppose we are given this very noisy image. This image is the noisy version of a test image widely used in the field of image processing since 1973. See the wikipedia entry [here](https://en.wikipedia.org/wiki/Lenna) for more information." ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAAAAADmVT4XAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAIABJREFUeAEdwQVgVefBgOH3nHtuEryydtZu67rStYQQJTgUh+LBEyDu7kRvlLi7Awnu7sUJREmAtrB2f9euq6yCRu495/vDnkeBHZt5aadi5kRZ4OYdPjqpHIJKgXhdappIStOSIV2Og3RZxLONraQmpUsigUxNiic9ISUZUoXAmIF/Bf9TJUteUO1T7VOnM5m/P3Lcg9ZWs2G5bNWpEpmJaZBEalQuTUqT2FznWeMNm/ayv39T5A+btWo/8Ff9KyCDJAEimZRkCTKFiEvPQMSRrqYmQFpiXGpSpkmFlOQUkcyQsEIMBqDKt9qbGuEDeNZ7ccXxoXitxj83RtoGcZmJIiE9ITWJXLimmMAT72rJu3kdNOVGuQjNp9K3ShPVIYo+C5KANCFQdYh4SEgXEmkJGNISUxLTEiEujZRk0PifwiDTs6xYmow1cj0edTXegEe1z7eoyl+KQtFyt4IgLT6DdEhN8rlbr3hS51mvad7bXfai9kXRjAf+FX5aNeTHkCBhMCSlJaWkaQIJ0hNEIkhgSE0T6DLjSCUpBUjBIAkD4QUExBZbCEWg24JnHVKNBvyK6YN/jI9+lss2YOu2DEhKTU2n57mNUucp1YPUuIV1Lc41ud9/vxMhqMRHksiOS8dgIC0xXSSmQ1xmnEBkxgHpCUnpiSBDEiQDBpkkQI4YNBJSoXnQJO/UVKnOs9a3SlSqTX2f/e3THF+GxGVKDEkl8zNugeKJR4M7NEGL83ZjVCwuoibAt8qn2g8QIEgVaEmpCWlpiSoijbg0ElJUUCFuW2YcpCWSLAwYDAbi1awgKfQNIbbLm7ZvgTpPvKp8q5AfT+ThWKogSs5EgEE2I5YhdkqtV6Nbg3uD6+4NatOWOgZNu918yqHaW9LCzLeRJCUnQVIKaMkkgpSQphoSVQmSSU4xSqRJanIKqUmyJhkMZIUV+uvigR07N9EouUKtVi3wLwaNR70Xy3Pj4qQM0MzEfax6xisdihcgNSlsQHVDlx8BEv6Iyhq/knARlykMvJQMyakkkZROogFVkkgSaYIkSExLxkCy0JBIMsVkI+dDtX7zdhrdaHBHkmWPKkIK3xp4qHtvlV+lSUccmYq43zK+h14clQbccOMltwZ3IcK/lxq8K/wF3lBAXFxaUqrBkJxCKklJgEEDkSC0bYmkoZGSDCJFMySLVEhOAcLV4shRyT61DaLBjQZBPZ7gW6UNrrk0+4uRjPTPgXgZKR7MsBcdmuLODjbzP+7bjZGsk9zwqcBbqgS0LFKTDAYNNCBFSjIYUpJTEtlGGrFSOsmkIZIBAaRAXKZSEJhnAK9a4VGPO3WaTJ1ntSpC82fffZeH192BDHhg1WPVMVlVbYzKjs2bGdKEa5MrnrlRe9c1+gqfaqnapzpcD/FSKgYS0wwky2gpwgDoDGzVskVWZB5JiamqwZAsC4OWSrKqReWEmzBAmeaFRy21mvACfIAI/vu5/q+38bYoIfVRT4+VnlsOmtqjCIY0urmyYzNbkMMKcVNr/XyqvWXIhgwS00jUgcGQlggk65IwZMa98hrv8Rfi+hjQpZCSmpqcmoxgSAEkjDILLKdWEnhVy+BJqRZCoTqnczSv77kiosyTrNXxPY4gukDZ0iRbGJ9RHCLxkrR+z5ZaKkGSGLJVSUtLFqkpKcmSQSVNNaRQGMboJtcDx+HdU8b/btsaFZdJUqqalEISmkyoqUwQVqSWqzovwKvGu0IzCQjLxxb+Rs43uTAo93Ib2i3vTVCQ9MIZQtjU7EKDOyA89FU+1dUB6GLlTCCFFEFKcqJMosEwKsICFFc0sYznq8+889ejX4RH55CUnAqpxGRTBLJEKFBdIzQNb0wCNS8yPyJvuM1kiGbzDh5gp9y26+AedxUUZaDSb+srMUgg8VK9h6fmVVtObnRWnIzISNJSkg0oyQXhahoFfaDW6NdySJJYeE6//DpmYcMyU0hMI0YNKwxSK9Jyi0MolVUZv1IgGMjNi8jHfw9DSuuwvOcg3XZow97UjYLZGmBbbr2H1IwRWGncTJ1HPX6KIsiMzYJUSEmVE+jDlJQaTr4se7Nz06qjy0/L4iO0246EhRahQnYEaBXBJSKkVNWCgKqBQuQQQJKQw/gP/PuPQX9FtmlzoI2Jd6ys9creNTs3sX5PFLvBBUL/7zCbTK71eFcGmAohCxKkNHg9gPhnbCMjngiKYJCDy1nE+QtzceT6tCj/YYMMKQwuQUuILgsEikWoL+RTooYVhuXnh0FY40QZzJD1E2Us791B7v5QWbd3XU70HrJj2AC1XuLI0pHo6/AUlAcTppPlLNKAb4NL1KyE9BSRkpwdM0iFbp98VNYtluZ+MuMGU9scDP9qCColP6gEnzLy5UrhTwi5UWUmTQouKhT5clhRKKVubOfveiv5zsRBhtkP9nRbPVYO9BG9Sn07pmHDHtXZi2KOb9gJ1Hl6mZUg50WDlpAOGTCIlCgSyFaJxr/GlcPLT5+f+4l8fSrXB5g7jScQXEJgGURU+dZWDIQRlRNYGspLklQklwbpoPKDT7GX7QbuOmrtzBz8bpIysAkOrSrLcd8tOVPnGfSVJNwa8aiv8ykPVvLDc2KRVLJjgjVdQaSqmFK1mOwsYku92buSRQyZxkWjWYcdbF+/p8RbLvM0e/UN3zrP6rDUXwqjCSoOgTAoCi0JqjCDJzrLe+1g6XDbhhlX4J+Kc3GI08FDQVL9hj0gcv51bNmeLR719Z511ZSEI8dmkbE1+TklgJwZh1EiJjOOAVh3Wl5wno/O8clHDPl81B/2OA+vgTrfDNCQyn8txL8CmRJRKIWGEozsuf7uA2zA1tjLBI2r0y3O71T4eeMglOZ4INH8IhpkRD3UedYxJI+tyBngXxGZR05sJqRmo0FkhYW7Ks7NO4bU5gDdwub9h/BCc5PrXbXYLLyrCYDpFbFZQQSXhBUVhhVJel96P8XGbOKdwXsObXenMv8cFU+VrC8HD6zfExhNy7pdmndW7ArBDtcmvGsIlERkHmyLB3SI2KzorGizdDmGHEB1bzYp83dr/E7rssG6HcZ+Kf+F9WZbmryz8iJrhVbxPMo48QeKQwgmtAhkM6b1gZmQ0E2+ZWVxY9Fw8EeJZYOLulYDwUuBZWzSN7hLNaBWhkvEEJcBoUXossIHMdel6HN1MhBUrYgl2zfAeLgzEegd/1d6K/55BjSkarypjApsu/MHQsoIhFBCKzV+tMBe4w537emB0XspC0Rxad7NRirAZbcAZJbvdPOsc8dbrgQpMjt2G2GFEEFEPqSRRhSQrYv0afl3y9ttQrG9bZoIatsAPTqLypwzrDUhBDWC/C9v8+OW7YFAQTj4RfC55cQ7E02WFvIdHPUj/lIcMgjK4MZd7IJtr/mIjdT+xKpDiDpkjxr8KxB5ZBH1PLQIjfwYKQvMo3MlEWWSKHSGqwOoNzUJUOy6QH2XNSP990FktVeNDznlcMOCjNEECUrNf40e+/DeJMfb1vp2QLse8LsQRoLCLnBuCdxavWNjizooC0C46urwkCuCCojOSUvMBcIKw8KzISM+mijIiE9jFFf1g9O4NPu6Be2A1Ckm9Fi9w5CoN3zwrtF8g0rH3b9IfI5Znokg1vEQ+1YcBi2s0atiSzmUeTej7HORRDNqlrS5RcgypSwfth0PL4QcIIGJRF4qDC+Iic9I0ecOyHFkDEYm4smAcQ5DptFhB50mRIfp/jiG5AK1gpxo7oPtuz++E1pMpd9erHpkh7Y2YFIrtJc/jx6JukXZpAkBlVTjvFMimlWH1rNZq8dTVx4UKhdE5/A/BWQnpei1WMiN6uvLh7ML5DnHdYtnc32aXZsDttx27LGCL0Zsjwn540hJ84Hge5fG93b+Ppcum/Yv+cBcBnmyegeMzLhKQGGjK1saFXUXGxjis1N2hpxvStjDDtgiKvw0ijzfJnCwJrgkTFKkVP4nioG/HNGbzTsygNmCy8q0adenOTBEh0q39btfx1CchSwB2qVxgxB58pbM7+0RQscd7Dpgyk3rq5V+jNE3CTc3ZRcuzawbU8MmaO73DFyinnZp9hDUg5CR/3zokxpKIvIjc4B4dWQC8HcPOHBMHTipuyBMXJvG1Rm3dao9Rqw77N4m7dPYSp86qn1U7r9H+wsmf8HgT6+bzNocbyOw6TJO6C7RCka6Q2O9hwIy6CSqfPcIzZOyZYJmdxrAmwrCCmvwxE9vDMwjdTA9I82U9Hj4tjcO9ivaMk6qczk3nz5uCvpncttxYqeQ6LZekIio9azzzHwEwUH2PHrvXd75HqnHTrPVOunCdDczuDAcaBQeKFu2K+4Nu8C3RcK58eeIYwyRvGq9agKgMG6lQx2VQFxm37a4kSKRxDSWtThz7NRiadmZhfOPLZvPlBvXuDZdA9vWSWhMPHXX6F+r8awRJp9ZyECHyRFRtw29ydSDja7dyBuENbmCRq2Xsh2dADLixbo9yBHBXx9mSwMvySG6vtcc8K4hoJzB6G2YxUFiGuDcYibEmYWIE0tMp81N84WYwW3H/W/OlG9Lg61mtoBXRXYMHXb2d++P61cde6y0X2UbU7st6O9wr1gtDnFtFEIgUDypxaM+UMJlz3q2ULJi+VE8pVovQSlQD+aedZp3TR7QT9joFMoDwGzNkX4NBgdZdXr22bN9825OecwamHhLmnTdBFSo/nvA7vq0CW1ocrcVfwh9ZK/aaVjfseqJDaES3HipRqljiHsZNcPXH2BwY2gRLtRBLV61AeL562e6Y/2o9CGolOgsCisoFfkRrDm0Ypeew7+8ymGNgWVc+C/zObuA65O5PI2Lc1BfYT0wDRzaHOD+OP5Nu307dDu0kQV+NLlCnSdCwQutnpBi710HJKfdxf9cdagZ8Kh3Fz6iwv316UQ/8a+oxiwm2yLylVf984Moa9Brq/ZZLNuxEo6sOHRIgrlwcY4CAzALBs9Y9L96dcadiZ2mieAACNhvea/drgP0KxxeHwjZLgQgqPFWUBtwl4phIxxaVSQJNpjJMu4IAcOmn140IgcCy1QzUqnwLwinROcOrN2DAqw4JBnh5McwB3Fh7hzg+NJFF2Zd6J/ZJWHLzSl02tJuCe8La8UEdjfD4ktD2NLEELlOoCB5aKgBf4jn0Cqx68dCVuzeItUzxEdD32lLcloiZQFFkDrSWBgGweQrw714vHcYu81XrdqzHkxwxrRkLpz8mKNLDzrJzG3vsIFWMblNtt0j2/NwrPo5L2kLCwmq99i+ZXujwB1QqAc3qRzQDjhREvaV5iI1MMSzGjfJlu1bzBN/eSqichOTsmK3UWTuVxpU2VfJa2t2sYE9qsruDc85tPAsHFY/PujUx2vMBvsrV2aChCwd+dkdfpj500QxqPVad0Ut96vSbdcahRs0SG4obNlOI4Fvx7B6//5B53BEs5tHPbiDZ5++9btfiU4X2/2fG8ZkxqZsJZSCIPzK/WhEAQb1Gxhk4wGVF6AO4nRoxCmtVW93VUO6NVlybLe78vNo4NG//4H9XdsJ3eRS6gs0CBo194Y6SWE7rk1uZdlwQKzZVRbISho93Glo8ARTTg7NVb4J0QGmaob0Q2FYf15koQZuPKfGQreBZhdYvZuV7Fpd1+yyiiGXPplxfVrrpDu023c/MHta64Ub2LbbyoKU33sHMcSdBjdwp17BXQj3hjDYI61mI3AYNDTcNbS9wDANhv/8ana/2Va25UUOoo1AjGLIQJ43iewyATsH2LnpMW+YHR8xm4tzZnNtGrp2+zb7e99vJCWZ24FPPpdtO2FTcnnZcPcGIfB0rxeedZ4eCkiNHr5STJ3kdFCYfv4in/UWktjOEA16f/nv5lrxa11CTPrW6Bw0nmXEb2OEa8SoF898qfFOS91YTmX/pmy/B5X646q2FC7P4qoicUeyxwFLUr5Izoxr/eErm8Ee7DreqfYBJOFJnacHtZ7VKB71HtT7Knme+5DAP3K5SWvCw0MSDDFIM9j9XVhh+CAJ4a/kqdHx+nh0Jc+TUuNzNoMOknxv+vmtWxAz3Rgw4umri25MRQfylNbb2NNtfbH30x6zuDhC3qcLmy4TqZSNlFU36vCs9arxqvFGgXqP+ipeEtL6in8eZd0WuR7cJZrW/Wp5S5uaShhDxsRt20oGaYnmwVG5CensAA8866o2fcXDrrFaq79pI9fVK/J0rkq3JjHEmubGNaOaTsLYz+06rLvG36ViMJDtbjS6gcC7xhuUeqj3qiX39bUHnA7uWR+5Qt0LHvVeWr1H/V4XJrcyCIQPvpLMwNZtkEhIzAj6YrIZEvIY75pZdPHwIZsvX5OmXZ4FzLiu3Xa8O4ENA888xhSgW/r5Q1S6J7UunWvS79i8pcnVrUF4eNcKoFrxFyZV+I+QNDgg1lf6AZt3CLdadw/Y8pTOQYbnRaYkR6djGNiWEW8wZP+Yne6bv5rJtz4++fQf6wa5zEstzrPOLGQWXJqNUOSjZ5JTdhP/+8BzSvlxsG+H1kljQ3jJlUagVta8ajWhSBW+Uo2viGSPWMOe9bDkhACJBncJ5RC2XPjSm2ReyYo1JKcMosuIiePufn7mFidpmL13FePfPVLhf2I0JxeeXQAXJbBwYPMOCsOaXPcynyET74Dj7dfyKXlVknDGrcEdrzrwqvZVyqHGqyqcemnNAUzEZoGEJnuq1FO/YUwVc/dD4G90MZCSqJJIdObi/Ux/wgfvHWPW2Peq6e0t7j+1+DTy6QUcN5e4xidOA7/DEMawfWsZYtcB2Km8XR4QvEs479qBUKHeg1ohqhSQvGpRtyGxGqp8lx9Fowm3RjcPvWSq2jHx33MO38gjKawwedA0LCPeOWfJiZW/XF7b/umncHnkCXBpNlnNQ0Lj0CpNmn1petm5Yb8ZxADrgL9Z3OuYfAs6bGe/GcBOiRZNYnMTeIAkfFACyyTZQ1O31q3loLTKN/ZT1gBujTR6IdVydfPtc/OTDHLS1rTEhPSU+OASTqz76pf5+8b+9hpwYvaliHxszDg3//jHR1ehaGdmEwh4JqfApdmTWv8B9tgZpbudGy0Mb+iF5sJOdmwGGt08a6qFAhX8z951Tof3rc0C0QyNblJDrV9F8ODPON7ALAGGDUSlMxhWuPDMpp0TP3+Xhw9tO+efY9hmPRhnn5t/WD2yHD7mEpDTvq+OzLhdp8Y9tuoBnejAzq7jt/E0sqGZZlx20OQK1GvCVykDr1oXizp13UEnJIYc2LjLHQFUhhQHmqUkW5BA8PA+LZeIgcIFzxyfcsfxBaByDl7fEc2BwVPzUZUVcGyMMvWGxBf7Zg0bHle8ca36mZXjbW6DpaSteo1tOm3XRlxg8/YtOzQBkg8KfpW17g0esEccWrmPuE8Po9AAHkAxUjOP3sv713DJZCqEJ/9AenoX0JkWv1esA8tJdeSwmjO7NwilRd4wZiY3pnJzU1ihVY9HCE/142UB018M9tp0TUlkKzs3MWTH5i3bNze5NbpR460g+aq1m6RU1h8Uh1bVeK9afGoHeNbVe9X6mSn5PqPeu7nXNFAIRKkF4xedxlr/G05DoNP3MG94SXBRKCzcsdN8SfOG8zK3Hem2ZszHX1BPRTNyN5PNrjCeLn67TRnj3QfNLmwGCdcGAd4oVOCNJJIAScI78bNTq4ftRPapFowcYQg3Pbk6JXhkDiSm/fMpI09/+MCi1dF8xhu/lM3+NxRyBN3e0eKZWLcdC3QyQ2QwYMXsuf6A4235CuN77ds3jegb5V1lqpBd6j2aXHnJvc6zxlvBTxUe9by06jDVX+/nAFCDZx1mBuSSwLuUhJGQrgSUT7K6tfhbNPvbTLS45DT8M7Jij0kE7Rs2a8/6WiPyhdkg0211z7LZxZwXv7D0247bU3UffdJrp/LHcHagN/lUMIgrdZvBHU80FN9KL2ECw+98nWD/GlhxxLXJqxbZp3qAaJkyQMYsPWGOY6slp5g+iKP585bZX334baaMNpKitbAexe3AqrNXZwDWvZaMoo2+XMyNE5UbYNchD/BG9ojNzS7UeyBD8YvygGqfanxA0aDOHTcDHJIkarxXD9KEBBIBpihNDSuMz4jKRXs6x/iCe8Dok9bD6HC8RDvij00rOLvgmGlVo5sbMgsuc9MEGoxmxZG7a/cdsLnDdN3lDntVCSamvkUFc/Cp9QopNRW9wKeyRkWp8dbcG1wEIKQV1MRnLFm311PgQ3VAETEIMsiNzTJ4GEf94HJf/G7U/nHdOCx+geW9iL/qNFjAMlB2K2tWgfHqlOswgd7nWVc/fLCPgM6ZV65h1yEP9qw05nqwY/sWF8Cr1qSGFAH9YVQo1OBJs6vh96Odjhwx/gonoM6Hai8fEaZkA/PPkQVfXIUpfSOe/ooe9NLlv9+LzWLIFflTb++ajiKO6hcz75Or02hV7McDH7z/een34gpzBp/Z3bEiGWhS3aDJdecm/KrRU2oU4K/gXSOxqcnAhsNIa2oznA4CEkjV/oURUOV7buzqN8IWnF19wKlhrF6np5v5w4+M+6PzmMMrzy5gJhlYUgTLdxxWFfWji3MmQUI6fPohQUyBi9h2ON4OLMv4nbnRDTChImpFjTeVQs2PyFCQ/FQ0DJWsBCRkNpg3VXnVql4VDKYm+ZYFPsz0nfuMA8sPrvy32VWcDvKfP0xqXTL6beX6tINj5hK/NTg3KqB844Ms9s29OoNDq/iXt+6nfQ9ISr05+dbMZx0Otz96lfgmlwbqNSEQdcILqFf9KATFqxrcGp3/5gdHMa5mP6rmKWseqG6N71LjHVj4a0oV693+c9T+MHOseg7yYa/RRPaBlVemnTHuX6z2X+Yw5bynUbv2/IybU1bBDqZfm3KTVJYen30JW/hkUXqCK6LWo86rtk7zrIZqH02jNCgvUql1bdrc6NRC5WvrQJCcsngfQ9xEE2cWMiSM9x6t2rPkTFApjLo4dlTHgwnP3vgHuuP669OY0teFJTeBlJQcL+Z1GiOu3QHr/sk3x90PK5RnXoJOh/ETlegGdzyoVhGIGu8azQcvioKIRKGJHev7wI+jLKfG22kAPASSac3+hRSEw5Sbf3/0xOGp73NrYTrCQ5jUatnK0eUMWXwKGA0ndu6lXw/YMln7yLqwG7g/abDaZ8GsJ6KrbeofQKLBvRqfauFdDd6UBZYEh2aKeBRgs1Gw9U9+0rKTg/9NfKSCXlQH9P9EWmJ4hT8/YYIRv9E1wAS7DsbrfuVesOVyhoQVOn1n8989dFsTKG+DXe/rrG/B9J2HD43vpbW1kbNTO+0m3nllVDhudVq1TxU+NdU+1ZV+ZVpxcO5gHDQq4FHPsmUClp34GJL3rN68QymjfOq7JF75784pNz/fsp0LKw/4xNx+Yhyw65C7/0ZY4f4TS0h/Mgzb+BtkWlqfXvRmEiAPexJjlpYVm/1kUiv2o/9g5txyg46JnDyZ+6qn8KpCahj0pkr1Lw0sUImiPAA3xbdKBnH8Q2nvOonjP7lyAL+y0CImVMBMcLnJj8wfMcAr2W73+3WmCcqHzxm+bw3XzySQTTzwdBn/4tUEXUqmUbXILiSWaxcA5dJqZ5Z+12bLrMtZimetqPZBuFdV+vmWlRhzjVp2DH/mwlxFo5bVL8iCYx+fVl1xbtlSGVREfkRW117G9zbDqYnPzjmTjXTHqgcb9YHd5jTOjjn+DblRVIiAPK3QzAc5PTMlrnE8h34k9dlPwHiNAwdW92sTOlmEGtZgwgd8yzX/Si2A/ChyomEEc1Fq2DignvrIpoBlLDre5NriBKUwaPiHaf1Xt8CtkTsTl7dE57gLerDs4n37tN2vz8/4/E8GqPPcuVOVN+/dsz6AuNQUNxi1quaZpAN6mXF1dVSurbDrOJ0tajTJC6j0o1wNLNJUcv/MdW0GFyUF5xaYJWnlAZxYIkj7rGWTZ13s8K0lhqhecGlWPB7cuoNzDg2uS34c6J5w94+/5dX5lX6eegPlUovzYQ3W8VISpUEPx+JdmGjgJY39vYgebGfGFHjXeVHlix9ogtAcU04USOKTj+ag0LJKHObShACOilOLSdNWaOZJw+S04AW5U24h8WqONdCy5ckXTcx4YXWXS5dYyPZ5dXFka6ozkhNHVhx0qvTLi8TI2E/+s1GXGQfT+9uuT+sbhdFG7VyBOZ41wqdS+IMILho0xcF1xMxPuDpDYblRcBmt/PXlx7WjP7ttlFoI7suFs8sew6jIT+kGG/PtU3oCy66O1b33iKLQa2U9reEyMUWmhpFwYvCgsaGvJBiDODdft7HpuQKYNGb2bS7l3qRWLPKGgTf4UYbQikOy4jg3fNrVGVdnYN6mcBTmnae4XDu09OjyRsRhV72xJHDELzVjXr/iWBGmTh7soMt+6iADW4cf7oStod1nuz9HpKfqhWZcC0sOOVEzGJYTbcifzwxcK3TAoDZDu0PQ4i9brSdGl7jXa14MCaQotDC3Pyd6/rUrAt2diY5tCksk9dSkVgJaOAAq2sdNnpX5EXN/y054c0vhll9G8AHyjcm8/dM2mDgvgx9iYGlhXBIvtTgfWLVnvTeZRhKMe8f32dV65cKyY45mg1B17TP0b6DfYfSi2qdcExqEkfrm5VnTr8xkane3USjLjy49hebo8D5Iyw86sRfe4jEXooDNO4jLBNunj2AYbyQBd+7sW1v79hudgkyDorcIwXnH6j3rgTgStFi67NBK+9J+zUe6AKm+Hoxva0OvelT5+iAFUSzIHYzn+tUZQLd1t+SgyMu0RS+eCk04cwQnhmx4Gpnq+kPulsdHlNUHMoHOCePfMvvbhKvOLe+9NrVgLfvf61yu+rwiEGp5QPXm7UZqvQymYUYDdQP/d/WZFJ3y3MbUCjzmVXo37Sz0rK/xrsTPH0KKiAKmXbk6A6wR9l2K7jBg2zUpeLf5Co7+4gp/yg6iaRnbWdCAe4NLs53ZLXpZu2/RaV7d2A/89dFUi2fVDCkwVfhg0jVjYEUBAAAT1ElEQVT1Y0gyj88YVCcBRag/dDHlJn/LZwzvv0lYo0lUoFXgXxYYSnoCMJM2B9olm25r5cDKw6DHHLGKo8vJ+GfdD5SCFFZof9blSy0yD/2tWd8+nLSP03DHwBCFG6z0G5OVkhxe5E+V0NwBs29c4+H0oipjEE8PYXtz3vObtPzfpFYXcKvx4aUyAbn9wNUZOHRIttwVKKjLjs01LS5CcGg5xLt83O9Z51ulf0o7T0c3Bad9Uz3h8lxja/Dn3yvS4scb+OuXDwFznSAZpDLJt9YdygITQpuCSnly5AeN9F6rnk4kaXyvM7NIBLwr8IcyLbgoVEvcs54ZrWYSEj2ILmXFkaUfn2QDOLPq6HJoXrrbnaqpA99MHP8dZyhJ+P2SE8y7wNfP/r4n6+uvmTDAS3JZbKLOQAgleNXq3PWlQb/JlgveG/aTCOH51z1MfF3pVyDnMlAvPP0rywPKRTAif5Dh16fdnARd1j1WdMkKHx+HeRbQ4nxw+bHHmziOFj0mfv453yoWrnrdIj11LCv/NeXm4fgMfipn7T6HydJN2EUWyenmUQUaeDXgA8PD4YZRM8E2a2vMFU3XNb43el3MWzoPqPQDISgJhmIzrit0azZ3Bdj0KoOCRafPA9I+7Zi0iU0/n2yC2ef4iomm58Y31z4fw+G5z+GdU4v/lf6fchuTbAG+A6OLk+UECIcKf/cab8oDAGkWkJLcbS1dYyH27bA3U8h1ngggsJjgAi0yhBvyRITUNQHoHa9oZzgNpP924/41R5e1OO9ctH5PRL7s3vDd/HMsOQ5e2UkPOx/6jR622Kv2b+WTb+F4Baq2FMdKpOtj8iLz/EsYBLneA3TXpsO3lmaii2UDnzAkKA5qazQVygJDikPCswBpMiBPoMcK7ilngFmXnSUZ6dByhpwODcnnwurV3xhnXX5l1aE1/0fqooeJaZzHlB/BLdvO2zi0YXLVDClaDFJ2JE/jocCvtDTo4H130vUxOLTBsSXzzr/7ReH3FA9D+JZTHlCmhhSFQoO7Qo9mzd0J8n1heU+ZLOl1l+bLssTqoxx/wlqLoo3p37f+orXOvbD09495cR6XZtKuzGzHsvv9z8FqxK021rUAkpqWGAFhDwktCqenNsbJA0aEjde12XSBfJ4v1odlluJdJwBRSkhRaEG/wf3GRLDulsCS+1gqt6Zc+Wimxc5sd1h+8mPSE2BXbilDJI4fd/Y2QfMmq6iZJw6mR1iNhE6mzpAv9686BEmJiQx5o5AioLYgnLEQRi90TZdHHZs28syz0iAq6jyrqnwJBEKLQ2CvniHW9HIf7lkq3OSTqceIgaPLOfbse1Zi892Gx6P32J6ff46WDbuBnSWwJDuGHrA2uyOuwtFleI3OVzGYWYSPhKRUSl4zPyA5AR/qlQ67a7P0XF9sc+IESBKyN5XCn+KQENLVdXDPsleylB982CusUBiiQdrvvJYfR9oIjy+Nz5//hvrhK8u0qBGG3RBaRHDuWxvGLvtaaaPbAZhzcdGxebWEGuMMacZ8jXRjkvbzC/2ARNmP55/I2Om4vHTlE6EAVYhaL6o1/3KhAgmceEf3917J8tMP7mPS6FDs27G/tV6fWMExBDs3rdnPj5zzquUvxzgRBasOvQ5EHT6+FHtpyk37tsk6TJzm/PKjA0VRCJMkkQAGQ7wuldK+uzfHdTm0TQRFvghzL9R6MaQGpdqH4sKw7OepSz4HWfpcMK7TBvQKdh3t7PFONqLJSyEnep5tttOvtVMeA3mR8Jb7tyHFYYVvHR1noSHAwXhrigbMeOFUiYqmiPDcqFzJnIyaOs+ggO9sumyVaQPWfzi8av45jChlZt61Gt5UVwhVyh9MBUn6lA8eaD1Wtj1WPSimbttOqDFIiGXHePxv+Cng64vctDwFkQS9PvCikqh/cy/dWtbkWzaSaEdliGr8admrBRAHOkb7NIB3E3zeOoFOhnSvFefgSq0kZPABhD9DMuMzLsvig/tolvfAqtuqUxFoNr/7vV4Kbll5RCDFItVteTL3jS/uLPzvSPu8UkgIKM+FC3TD5BlP2uzgNjjqJMHXx9bvMQBKmc8ejV0b9ZV+P3GXSWYvlFb2rVminZqBKzS4M0Sj1BiOyGDWl8Z747DkJa2zX7lr22n9vAHKQMhI2R3fuTUCkzBqly8Hdv9+v3iLIS0ObRNNt2Z3IznetulCvgkLr0z4Bq/auMzgIp5bsJF+PwRMQteOw992719xhKtXKQ7pp0IS/v5lqgAt+rcRf/3Mkvuyatllc8sWHwUNUx8Q2MJKjjoDV2GxsW9WnzZufuGa/Tx7EvNn/7z/nkGTZ5sx/Rp0gQ6maNyFWpfMiOGhDHoAHrlRqn27hAAdmwb2sfAM1T78lOVfqFCuhRSASX3twYdqL9q4uzzj5IKz1Ypdx3hj27JjMdlwUFoOySlg8+LyTHET7vOnedqz+pBfMiMzu2m3kc9wjZfsVKZdn8LafTHZzTnRgJ4GneL8d3rh1sTLdh2ouwGx4ogPwb8UxP2UTr+Mlm3sk1//8IFxAnRNOD99VTo2Y5RR06+N5wXZRdoBp4MHf/VI4eOTz4ev+PEG2HaSz0f1ud3FiS5xdf/MkHXzzs+5aNdhr3VMnKY53GQUwzFEb9tKWT/upSMZAZ/cvfUlHTatrQxRzMmMG51OZkiwHEHS8+TkDHL5sBO6rZnHQ3j7mHJ5/dynkwZw7hNinxM0nDh0cs6/noy6MeHN869AzI8NuY9MHmnwfYZnHbO4iGbTbovKzcmgbE3GwNbsmEAgaCezb0wdNctxMjydeIeVhxlUgJEkpeoK8KpN9SOFgCV/tLLtBhpPHrg367LZWmVb/x4WPrdtgX0S7F23KTXp4gfqi807pvpXzPgpO8T93zX4QbI2v27Rs8tgLzrotJGvz7nIPG2QBMWQKUGurLfQnxg+9ao93H866R8sN9u/+JTWUvOkKDQ/gjFxmbVexice9XzfLzr0mmbL6QPz9SfXSJJCCqE//3CNtEQEB53YCX//FK5y48bSX+7z7X4Wn6pMSlW/OMdpYNHpiTje1qtTLy48I9VGImspcRSERxUGM+SCemUmA5M+vepzlHkqF/EuDCWCnGiIGxgsBa/aA716KzphHyMPMXw7ytai0CKw7gZlFTIN7q5N5ox/RbvB9OPAb2dfUvFIzY4hoDz0i+OcnqRxmzsO5gvOOA4iJw5mkR0TnosMu8ydTELHLVs+YPsWXtz4+GRwSVi5KoRGlhhUzMMK077jtsz9cbaMu79pJyjrdUroC8C7Y0niThlWNuqq76Mx3OI8DtfA0VgGMlqwDOX8+BY2Xcp1+3Zo42P/CkcfXZ8ZORJEMUSYDi88Ne+yRqeimJcH3OAkI0uEFExheL4WlSExLCExBke4f9uR++x0aQ4t2mCuFFES3OAOGZJ8VOIX0y+f0msp92ElgNtz2bjr9GJV/GowRP7rd/l0ITDZt8N0s4rl3wwMFJAenUduVGFYtY/qDCqqrlWzuqcu5P3Pp9wcHgwUhRaEkx2TnpqsMOzo2A8YB4teUaQdYYWbZb3y/ufqXmPGqRvxLQKW7XyiO4/lvbk/26kW3vdNt81n7Fp5+NQKnVZe/c29MY0VbTOv0M3cp8ZrGzEzmhQy4olEJgwfNsPBpcy5IuzRxn51M+rzm7Z6yoQmCIeY7Bi0RAzw4MOeR07DduMT0r9xByjGaWHsNb8BzseWcfxZf9SKI/ccL1j1MKeGWWO//RO/EtD/U2ORD8x0A4mJg92Dt+2mDgsqtZV1KfHbUKSIgvCywBq9vMWJk3pN0C3x56/n/PBIZ0EgUKRGkKWmDabBldEWH9D/z3V7oRo2eMo1ypdvJqXKKlMW/0XiuLyhhCPYSAjbzouBZTzEHHXFoBCbQ8HqBXAZWcdVxI0b0Dl+WxpbIQsNFe86t10bD4n5F6cgxD3l7Ssn/tzWBpQEi4gckxaXrHL6dfTyp6avvtrrYj7cLH+jmWJE4dkAUoz9zYXyUpae2L0hJdlW3zq+9wObRd/yZKqplavzLH77xdF8XWhPDy7N8wf7FaCTiHxQEhO3bYVYIqFU8UTbJZacAWzoFY/0nW8uOl1GYDBheRqawQCL4J5E3z9LafYpBcmsChTU7F2ri0LtknYdXwob+MlB/4xe9H//93Y6Zz8HzsN6v4gssmJp5tlNhkwcMzYfqE9I20puVJYuqiAEaFAlcVQI6NCJD/i6NGgEklYsRFgkYIjXtn3+/l1L7k1M8BzcoeBd0wKsV9DYePDb+ecSWcpBY/MvQbMuA463zd/AWn/Jiv/Zw7ZYBgrDWP5kxlVAOW8FzPm7Tsowi8rRTITnR1Dt3qStPqjMvTJTWN+9P+7tTzAvCigLKQgnT5hUY0bK2ffRoK/WK6DOXQotAl9jvVH5s8YOJ7BLA5yAuEzAxuR4e+6SE5PowUG5Ba5/es6SY6P5+JXfK7855NB2c1N+cgrDzBU5jrxIIEcCUau54nQccUPtnND74MOPsKBEKgREFBkCRf/pBwJ+/g7JXRJF4FcJBxXdIzZT69UR98EmjklLK/+JXcf4LmZwYdakVib/IgTTX2sK0gf9JpkPvzkJTL828Q8741NYeCIuMQsiYZsUnUuJ6lu/XVGMp2fRKhh//8GHKJKshRUVhkWB0BEPd2wf9n2aSBlu5WvMRlayZburomeItGF35o4j0rJjSDl0IEPf+F5T66RW5TPmzbk4kxFZDHmAffukwX7urA/G8LjbPZNYCsJBjiGqAKo8YJdOvTBX2HFX8Kh7TUEIhJYUaeHZJh3Z5qE/MZbasEJoZD9sMW53Myqfv/sFuzcwY9JmDh9dhi9Lv79zd9bjNmCKftI12+G68xt+4gFLnn9S423dTitWLNwTmYGz0pCujyG8UI2MyZLkcMp8q3We2mpAgwn3xn36V8L9KxLTgikmJkcqITjz+Wfy97cFLoqp2bmF7aA9Ud5T51yUQc7h0EqOLSP+/p1xFpexGX7jOmDfDpN3M/UfnFjs5U03Q3oYHiwlmu5cTEogV5alyILw2Oyo/AjwAZe962Bqq94OsGNtBV9B4pMsObo0CPSrH71Hwgua3X5d1eJRD2yfoTx652LOOiLzQiy1wyuX7fshkKk3gOHatOuzjU/7Yfo1n+ob05n7Wu2i05b34MMHHIoW2jZI3bYVKSy/QJAtsiIKA8tkf1jHEM0OwQf/fOfZqkM/s/rhXoKSqX8eHNUmw08/wrMTHp51LopZzaLTylijreCg02zNCzgxEOj77B8T7n74QHdjGpfAyq7jGd/Ch3/dvnDcae5ZmdDNuBqM8tj299YZZEXlEUE+sioIK9ICqVXMnOHiFNDuySoj9jPSqa8PSpf9qQz2OHwOlTNWyEb0T2n21NbvQXn19l9jsMi9QI33EbHkMFUMeeBwlevA5FvQZfcv+MtWN9MZLO/1gP0oT30OQyZnEZsjgAiiICc6tKgsUGim3RYr53Br8oRe8TfewlerWX9y1mU+e0Gbw0j6a7ynWRyBgOfG1cP0A89xUN75i5I2/mNWlXJQWnF6ETh9Zt7p0GbfDtOuy1Y92L7ylHVq+lfD7NvFhw8Y/8rIkQoLv7XcJceSp0l5siwIA0GuGlrmDezn7ILJbYomQeGaqkCGbXgBDx/iwCgmODte/5hVh8ph9c6Q58cxU/YAh2A4VU5Hjy0iMe3ghE6MyA5Grk+9AY63Ydbevf61TEDX896j3l5is2afoQdtmw4ic8OLtfB8IiSi8hDlAexcc3ABaALuWYKH5F/BSx+f5Jpp34Ua5p/kEEMOULyRGYqy5E8jclcd+94LDiyHwyvhLnYydxg/fNnPYHmbKTfF4t9VLDh716qHR/btuGXZ9W16c7giSSIyl6iCEIrQ8kWe0AqERr22y4kzCx2BezB6oN4PWGs6dHLvuukwfcqoswxZdHrdG2WoXJ2tnNhsomUZoApOLJHYtBM6sG+feWXysVkLz7wKNxl9HMwZJyxBZvJ93jlwiyQpHojKhcIwmVBeyg8uxaNRAxO0TsIS6p1Q/SoZpniKdRfuhS4+9fFJPEb83HyaUWVBpXthUGHHBpyP/OwepK05tgTYCbaiq50rE8Tyowu4xpAxuL75YubPveO1+7ZTb+BbBclSUqpOiiMKKAqmiND8iAIIosYNDkvn9JPaHO5ZPnrvIDX+QabKUMnEXBdOoYd618d89FYdL03vVya17oYV+yktOSCd1PUlXO8f6GS6enPRd6pieRZYfvT9X9f8Z/SvsmrTBW+9Yq0vIiFdMpCUKWcJRUbSigmhWCK8sDgEje36lXABByxRL5Sb7a2AiHzC8arF92kLHv1NMHpMbFYpcM1OaZ2k/HnNijUQfGApZ9V0XlI1TjPx4Pj550K/+T+P+9+N3z/8MEMm/eZYkHletJmcJFJkKS4zLlsT0fkRFIEkURIMiFo2ckQ3F9p0ur93vfqza1OghT5GzQspDiiv2oT74GPgzVHb4KO+VjoUW1VraQHCCwTH1dVxmQy5yZBXNu/oXVcU/lnfb35o5DDM//LV10/4lkYiC0mTkiEtLismS5cXUSBLxSHBpRX+ZSIIv9otLZIqnV1w3QGwaADKGBIpeC0+Y6db325YfvSNzLD/fvdrG/NeV0Sb7XLv1ydRgECS9p2Z/quitMHCM5xb5tA2yM/37mE556JNF+eATVVhcpwkk2YwGNITkIjNikWEFocUyUEV5QFU+NeLJoQqLbioAXc/wKXZpTmwDPLYxla3xl9MbNx1lMyk1PnnsX/lzZb/B/PxyWYNOw99AAAAAElFTkSuQmCC", "text/plain": [ "128×128 Array{Gray{N0f8},2} with eltype Gray{N0f8}:\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.0) … Gray{N0f8}(0.627)\n", " Gray{N0f8}(0.627) Gray{N0f8}(0.624) Gray{N0f8}(0.388)\n", " Gray{N0f8}(0.612) Gray{N0f8}(0.612) Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.0) Gray{N0f8}(0.192)\n", " Gray{N0f8}(0.612) Gray{N0f8}(0.0) Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.0) … Gray{N0f8}(0.2)\n", " Gray{N0f8}(0.608) Gray{N0f8}(0.0) Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.0) Gray{N0f8}(0.216)\n", " Gray{N0f8}(0.62) Gray{N0f8}(0.62) Gray{N0f8}(0.208)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.0) Gray{N0f8}(0.188)\n", " Gray{N0f8}(0.635) Gray{N0f8}(0.0) … Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.631) Gray{N0f8}(0.0) Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.627) Gray{N0f8}(0.184)\n", " ⋮ ⋱ \n", " Gray{N0f8}(0.0) Gray{N0f8}(0.129) Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.149) Gray{N0f8}(0.129) Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.216) Gray{N0f8}(0.0) Gray{N0f8}(0.208)\n", " Gray{N0f8}(0.345) Gray{N0f8}(0.341) Gray{N0f8}(0.231)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.0) … Gray{N0f8}(0.259)\n", " Gray{N0f8}(0.298) Gray{N0f8}(0.416) Gray{N0f8}(0.259)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.369) Gray{N0f8}(0.235)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.0) Gray{N0f8}(0.208)\n", " Gray{N0f8}(0.22) Gray{N0f8}(0.0) Gray{N0f8}(0.2)\n", " Gray{N0f8}(0.0) Gray{N0f8}(0.22) … Gray{N0f8}(0.0)\n", " Gray{N0f8}(0.196) Gray{N0f8}(0.208) Gray{N0f8}(0.345)\n", " Gray{N0f8}(0.192) Gray{N0f8}(0.0) Gray{N0f8}(0.0)" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Images\n", "lenna = load(\"img//lena128missing.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A noisy image is basically a matrix, where lot of the pixels are not reliable. In a way, these unreliable pixels can be treated as missing entries of a matrix, because any $n\\times n$ image is nothing but a $n \\times n$ matrix. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we convert the $128\\times128$ image into a matrix. Here, through some precalculation, I have already filled in the missing entries with zero (for the sake of illustration)." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "128×128 Matrix{Float64}:\n", " 0.0 0.0 0.635294 0.0 … 0.0 0.0 0.627451\n", " 0.627451 0.623529 0.0 0.611765 0.0 0.0 0.388235\n", " 0.611765 0.611765 0.0 0.0 0.403922 0.219608 0.0\n", " 0.0 0.0 0.611765 0.0 0.223529 0.176471 0.192157\n", " 0.611765 0.0 0.615686 0.615686 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.619608 … 0.0 0.0 0.2\n", " 0.607843 0.0 0.623529 0.0 0.176471 0.192157 0.0\n", " 0.0 0.0 0.623529 0.0 0.0 0.0 0.215686\n", " 0.619608 0.619608 0.0 0.0 0.2 0.0 0.207843\n", " 0.0 0.0 0.635294 0.635294 0.2 0.192157 0.188235\n", " 0.635294 0.0 0.0 0.0 … 0.192157 0.180392 0.0\n", " 0.631373 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.627451 0.635294 0.666667 0.172549 0.0 0.184314\n", " ⋮ ⋱ ⋮ \n", " 0.0 0.129412 0.0 0.541176 0.0 0.286275 0.0\n", " 0.14902 0.129412 0.196078 0.537255 0.345098 0.0 0.0\n", " 0.215686 0.0 0.262745 0.0 0.301961 0.0 0.207843\n", " 0.345098 0.341176 0.356863 0.513725 0.0 0.0 0.231373\n", " 0.0 0.0 0.0 0.0 … 0.0 0.243137 0.258824\n", " 0.298039 0.415686 0.458824 0.0 0.0 0.0 0.258824\n", " 0.0 0.368627 0.4 0.0 0.0 0.0 0.235294\n", " 0.0 0.0 0.34902 0.0 0.0 0.239216 0.207843\n", " 0.219608 0.0 0.0 0.0 0.0 0.0 0.2\n", " 0.0 0.219608 0.235294 0.356863 … 0.0 0.0 0.0\n", " 0.196078 0.207843 0.211765 0.0 0.0 0.270588 0.345098\n", " 0.192157 0.0 0.196078 0.309804 0.266667 0.356863 0.0" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# convert to real matrices\n", "Y = Float64.(lenna)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Goal \n", "Our goal is to find a the missing entries of this matrix $Y$ and thus reconstruct the image and hopefully figure out who this person is. \n", "\n", "#### Constraint to impose\n", "* Ofcourse, we want to ensure that in the reconstructed image, call it $X$, for the available pixels, both images agree, i.e., for any $(i,j)$ in the index set of observed entries, we have $X_{i,j} = Y_{i,j}$. \n", "\n", "#### But how to fill in the rest of the entries? \n", "\n", "One reasonable of way of doing it finding the simplest image that fits the observed entries. Simplicity of an image when traslated to a matrix can correspond to a matrix with low rank. In other words, we want to minimize the rank of the decision matrix $X$, but subject to $X_{i,j} = Y_{i,j}$ for the observed pixels.\n", "\n", "\\begin{array}{ll}\n", "\\underset{X}{\\mbox{minimize}} & \\text{rank}(X)\\\\\n", "\\mbox{subject to} & X_{i,j}=Y_{i,j},\\quad(i,j)\\in\\text{observed pixels of }Y\n", "\\end{array}\n", "\n", "But this is a very hard problem and solving to certifiable global optimality is an active research area. As of now, problems beyond matrix size of $50\\times 50$ cannot be solved in a tractable fashion. You can see Ryan's paper on how to solve low-rank problems to certifiable global optimality [here](http://www.optimization-online.org/DB_FILE/2020/09/8031.pdf).\n", "\n", "#### The best convex approximation of the problem\n", "\n", "To work around this issue, rather than minimizing $\\textrm{rank}(X)$ we minimize the best convex approximation of the rank function, which is the nuclear norm of $X$, denoted by $\\| X \\|_\\star$, which is equal to the sum of singular values of the matrix $X$. So, we solve:\n", "\n", "\\begin{array}{ll}\n", "\\underset{X}{\\mbox{minimize}} & \\| X \\|_\\star \\\\\n", "\\mbox{subject to} & X_{i,j}=Y_{i,j},\\quad(i,j)\\in\\text{observed pixels of }Y\n", "\\end{array}\n", "\n", "The problem above can be formulated as an SDP." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Find the index set of the observed entries." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8128-element Vector{CartesianIndex{2}}:\n", " CartesianIndex(2, 1)\n", " CartesianIndex(3, 1)\n", " CartesianIndex(5, 1)\n", " CartesianIndex(7, 1)\n", " CartesianIndex(9, 1)\n", " CartesianIndex(11, 1)\n", " CartesianIndex(12, 1)\n", " CartesianIndex(17, 1)\n", " CartesianIndex(19, 1)\n", " CartesianIndex(20, 1)\n", " CartesianIndex(23, 1)\n", " CartesianIndex(25, 1)\n", " CartesianIndex(26, 1)\n", " ⋮\n", " CartesianIndex(113, 128)\n", " CartesianIndex(114, 128)\n", " CartesianIndex(115, 128)\n", " CartesianIndex(116, 128)\n", " CartesianIndex(119, 128)\n", " CartesianIndex(120, 128)\n", " CartesianIndex(121, 128)\n", " CartesianIndex(122, 128)\n", " CartesianIndex(123, 128)\n", " CartesianIndex(124, 128)\n", " CartesianIndex(125, 128)\n", " CartesianIndex(127, 128)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "observed_entries_Y = findall(x->x!=0.0, Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Find size of the matrix." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(128, 128)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N, N = size(Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Declare the variable $X$." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Variable\n", "size: (128, 128)\n", "sign: real\n", "vexity: affine\n", "id: 867…105" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = Variable(N,N)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add the objective $\\| X \\|_\\star$." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "nuclearnorm (convex; positive)\n", "└─ 128×128 real variable (id: 867…105)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "obj_SDP = nuclearnorm(X)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now add the constraints $X_{i,j} = Y_{i,j}$ for all $(i,j) \\in \\texttt{observed_entries_Y}$." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Constraint[]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "constraints_SDP = Convex.Constraint[]" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "for index_i_j in observed_entries_Y\n", " i = index_i_j[1]\n", " j = index_i_j[2]\n", " push!(constraints_SDP, X[i,j] == Y[i,j])\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create the problem now!" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "minimize\n", "└─ nuclearnorm (convex; positive)\n", " └─ 128×128 real variable (id: 867…105)\n", "subject to\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.627451\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.611765\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.611765\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.607843\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.619608\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.635294\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.631373\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.662745\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.67451\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.647059\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.533333\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.360784\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.337255\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.337255\n", "├─ == constraint (affine)\n", "│ ├─ index (affine; real)\n", "│ │ └─ 128×128 real variable (id: 867…105)\n", "│ └─ 0.364706\n", "⋮\n", "\n", "status: `solve!` not called yet" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "problem_SDP = minimize(obj_SDP, constraints_SDP)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Problem\n", " Name : \n", " Objective sense : min \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 73665 \n", " Cones : 0 \n", " Scalar variables : 49153 \n", " Matrix variables : 1 \n", " Integer variables : 0 \n", "\n", "Optimizer started.\n", "Presolve started.\n", "Linear dependency checker started.\n", "Linear dependency checker terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator - tries : 2 time : 0.00 \n", "Lin. dep. - tries : 1 time : 0.01 \n", "Lin. dep. - number : 0 \n", "Presolve terminated. Time: 0.05 \n", "Problem\n", " Name : \n", " Objective sense : min \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 73665 \n", " Cones : 0 \n", " Scalar variables : 49153 \n", " Matrix variables : 1 \n", " Integer variables : 0 \n", "\n", "Optimizer - threads : 48 \n", "Optimizer - solved problem : the primal \n", "Optimizer - Constraints : 32896\n", "Optimizer - Cones : 1\n", "Optimizer - Scalar variables : 24769 conic : 24769 \n", "Optimizer - Semi-definite variables: 1 scalarized : 32896 \n", "Factor - setup time : 207.52 dense det. time : 0.00 \n", "Factor - ML order time : 177.58 GP order time : 0.00 \n", "Factor - nonzeros before factor : 5.41e+08 after factor : 5.41e+08 \n", "Factor - dense dim. : 2 flops : 1.19e+13 \n", "ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME \n", "0 1.9e+00 1.0e+00 1.0e+00 0.00e+00 0.000000000e+00 0.000000000e+00 1.0e+00 207.63\n", "1 6.8e-01 3.6e-01 5.9e-01 -9.71e-01 1.415377135e+02 1.431598397e+02 3.6e-01 257.51\n", "2 5.7e-01 3.1e-01 3.4e-01 -3.34e-01 1.116403593e+02 1.121811844e+02 3.1e-01 303.22\n", "3 9.9e-02 5.3e-02 1.1e-02 2.56e-01 1.532518635e+02 1.531753559e+02 5.3e-02 356.38\n", "4 8.4e-03 4.5e-03 5.5e-04 1.07e+00 1.479916370e+02 1.479971145e+02 4.5e-03 408.76\n", "5 1.9e-03 1.0e-03 5.8e-05 1.00e+00 1.481214349e+02 1.481225967e+02 1.0e-03 457.44\n", "6 4.0e-05 2.2e-05 5.0e-08 1.00e+00 1.479726003e+02 1.479725623e+02 2.2e-05 513.78\n", "7 6.6e-06 3.5e-06 1.2e-08 1.00e+00 1.479718423e+02 1.479718468e+02 3.5e-06 561.63\n", "8 6.9e-07 3.7e-07 4.2e-10 1.00e+00 1.479711247e+02 1.479711253e+02 3.7e-07 615.21\n", "9 1.5e-08 8.1e-09 5.1e-13 1.00e+00 1.479710833e+02 1.479710833e+02 8.1e-09 668.48\n", "Optimizer terminated. Time: 668.58 \n", "\n" ] } ], "source": [ "# [💀] Do not run on a laptop, I am solving this on MIT Supercloud\n", "# This is a problem requiring lot of memory\n", "# Constraints : 73665 \n", "# Scalar variables : 49153 \n", "solve!(problem_SDP, Mosek.Optimizer)" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQAAAACACAAAAADB3ujWAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAIABJREFUeAEcwQWAVlXCBuD3nHtufD09MIiCimsgShuou+qvrrtrYKLUNA1DC0zT4dAwRYmKhbFrrLvr2pIqYCsiMcT0lzfPOT/u8zBg11j87jmmPYKNU8buKlXIJmDqBgALlZpaWVErKoHFdAGwmMqFWIZnUFOxmMhFWCrIQixeVF0J1EgJdwkmbcb/bKWkGKgvrS9tUjz9D8Hrvtu3T/OtwjMKJ1haXgtUoGbOKuw4ZfQ4fd6VffIo0+yE81urG1aIK6VPCgVhJRWRpl+cQbaftmRLlUoHBuIwLjlLJJgQJB7hkc5cYcelhJuevOCIQEQaNJOSn2hmpDUHiuLpfwhG0/bt03yKqymcAIrjGCr8HUpiCNshxzYVNZQAY17CK9aY2a1jRf1EYBKftBlYggoJyEpUVxJgqZQLFi+BXIDFvGYRUFu+oKZiqceB6spqWYmLyupQVQVg64T6EjTIUgBFzcX4aPhPMqNh0qp5ZBmwYGm5XLR4UU0FVgGf3Ca9XH+gK8wIhepzAFVwFVThkE4gzoISQtJcNRoANCkFNEjiBz+jUOJ6wZgv7MokLkRiIEHNcFp6pnSDBw0JaVxBJXoIVfE0af14k8wY8J1HVb+rmwFLqinFVWMxdHzCPKAIJfWkZPcTwI5Vc0ZLUbplwlYh66czdTlQAaBWSnAFciGwaLEkqF2Eqtry6vLacmBBLaorAYH/qZvqJZbPxw63gTajsKmhBEBhfelZcNZn7QyIVc8AErULl2AxUFNReqT5ZqiujKYRKVVwbgohBWOSCMkDTE03oaRCAprsYSm2tM5cInySCCJVh6imIk0ETA47kEwKMM/VZajVCxgKdFdSV410C0uDTGnuWYWzPr9p4RRNwUVKEqEzJgzmnaGsCE1FzUKU7Bz9Erg5B7tRiEmbJ4p6YM08LCKoqqqoraiuFRIEWLxIlgMEqKqplVCWLkANKqoBVKOKyCrMfBaT568zJJNQxqGoCaRBAOiGd80v189NrMIyAM8sWwJU1NQsxtHkQFvCiwhBuCKE4IS4ngFuG5ITdOaYlET9MU3XLVtKnajQYwYUQRQqpU0IldRNElvr4qpLiCVtkejKMeM5hmQSioh6zM89ocLXHfGs0PVn2/whbrncUB3H9Lfn0NYzyZ9ZUxFpBsj2cXji+acbVl248BykxBaUEoIVCxajqgq15Ytl+WJgwdIFEnLpAgCLF1UsLgcoUAFUAqiiqABAZzkupm8WhdhBnxOcNBU1Ttgqt/Ad5g9Xfr9yAi5asJTgohos/QFfALpFDIAwHfCMhCSahJRBxQEhTEFnml8lunRpKgAOpsugZI6CpE8SwlxGNcunqDqLawmKsGGnaK7DpasK10qjVBDC42FXlQ53zLDIy41Jln2OtPniAeEqTPvBnxkGK0LhtgJgB/D80zvdOfMxWjZMnrC1tH4iAAlI1EiIippFtbXlHLIWC2qxqJoDHFiwbOkCoLYclbIKVVVVWMiXTyUzsqXcScfsHAc0FaF464StoNFh+OkqbAXm0KWQQBXVMB8XDY6ZPNQdy9S46rIEVRg0qQvXooRARsMZikwGpMc6Mxy1lxRCEjAuHY0TKSIx1XMy7JQnbWl5Vrjb6pVgAiQV8ElfQApb8RRJTc1joNGj6df/GvhDq/cL1bOkKvxBLe+0X2O/JFhj8fb8bQXbxr84iu8Y1wTHezG/dBNQX0JEmb4MFaSyAqioBkQlygGyqJZXlXMCVKKy2iWoJbyyGjUVVJCqKiwvq5ukLASw67kx2E7GA42iXmLSOkDg52P/2bRqwQKyBBCa/BYDjl7PDk/Q/ak0vyapx12/Sx3PU51kppvUmQjpzKFUVT3NS0cq1K4aERBi81iAE2EocDhIzCbC0u1gIiyIcVLv8kuiiHhCzyAJneqqprpClXCIroheVx37JRC0PaonO3I1+a08FulmhBUDIDsYRoHnQ1kzCyCYBLmlYeL6mXLBUlmF31UClTWoQMVilFeBE4IKWStRAZTXVqIKlVKAoMKbtwJ0DVCvjt2J7fnYVgBCaeFWTK+7xP5J6Tdy4hZPwQIsZfLb568/imMYTkKcEoMxLjhxFC4JIwi70lGUaKbkriaiWUpXj6gvPZGN5AXVb/l4VoIQmFLKoK1FoinNcUgSAgR+L024VJFqUDUNH/TWMCeE0phPiQvD9iv9Tv+Q6ymwFMLkt+RohhdOqWwb8pGP3+VvK5By5gWyrWTzJIkS4FksWFBbUVNVVVmNGlRUAKgSgFwkxbJy1EKguhKQ1aKqUtYAldUAZvJ1s0OVpY3b5LZ8bJNoRhEwYatwHvvgzuNBBCetBBZSkIWAhiHysKCeYwmLkZCieEJKQqjNLENKBuZJnyEUm9t+Ey4U005GNKG7MkWE34FKheUinpKOAKTDiIyGGEsoXEjenqNKaSfDsjNEvKjtRNKc9kz3yqAItvJs1aGcxEhCcx2ZYqwAuzAW/1Ow052NJ0g+SjejhGwBIJajpqKqSgACQDWpqKqqrqwuxzLUYj5ZjErUQlYCkACqgQVL2bNTVlcBxY2ysBkFaBIUTUX1XM5Yc+eRK/DTpwUAlgDfDTg64PDNnA90pR30n+WpdKbbQVN4GS3EBzXqDxPHTYSE2YHLXVWoXCAtZaR1xkOyLVcg6PqslCn8jpcAjFQ4JrlI45FAt8f0uB3s0elC9jiPnyLZgtK09jQuOyPRy88l//Jp5Dv9bE63/d232W1BSbnfZbvGjsVFOzB+x3gUrZrz0hPbJ8jSelJfWj9TBRaSGlShvLYKlRSiWlYBUKrwjFghl89ejYryGl5VVUlllahBJRdzVs70UAVsFMUobESjkMUASgHMQvuP6uX7UWKsR83PR48OUPHFUMGPqi43goJncY8LQDlvGaYug5aRCKp+FeZlxOexVEIYSpxCpMt4MCcWMKNBU5NGgnepAZubbozKgGAxPQbJbNrbH/e5At8bejhLyPi5P5xocf0sLdp+Sd4n1506bSht6fK77DbVzugWXGcSF23PH49dYzEOtKwO+bxxYml9CQVWAEtQXotyBaiqqi0HUKlUoGrpgrQM9EMfLDBhK9WorqmprKmExEXPAotC2pRNaCQSxfUUKMIGMR11/K4vw8jc85Gco1fcyK8/OhyQXwFSemqYd/zWgzJPkZQEuI9TasgABTTLdoyU44PCOLeCJskwgwpIe16um+GzlCQnpqMocS+TSBlK6BKADqc7GtJCthohMtwdpka4/dKwEIK0ZyXDduYJRTL9t2O8NShUIZ1wio3bQQ03gXXTCX5HntwzrhFbAEJw0TOstrZS1lRXV5IqjlpeVY26MoR3jH/178AV77jty56Zs2ApKmp4RTUqIChmeBslytbyTVwpBlDcULJZeBIoW4NBwJVYeWYV4NBj2A8c6v/NDUk/FYqpRFQCT1FAhGlwkgoHO4mEkHlMBKjwOzD9Pp6VjLfm2FmeGg7G0vWI7CH7tLeyVoN0XprkcZ/DIajeDcsASVAoisICiAcjTHgyFBJnu3/I/pb7+p5pQbtDadgJx0EIGIgqnwamY8zu0dhWAEAWqltL6+snQ5lPlwKoRrVEdWU5RXlVVWiWAbDxEPIBJB99r+/lbx6fOXclKiprgBrMW4G1ACWYAaC+QQqBEngSfPXsNbNW+wfeDMzF2F34DoPZ/sGH8Q2OEKLK7ijhknHqENsTTBJKHBtEUbjmI955L9uR8PviNGWznJAwjBQ7HxBSTTlh2vfymBL5MTMpoGlSRlrTLRYwHJIW9rqJkISIsKbFJHh3B3PO+6/67hw7obEkV4nS7T/T28mI5TAwZm+Z+EzaPBCA4HfNhUWiuHETVs1dvoBCLqkQ1ZVVYJXPzuS1eNYEeIP6OPYSgvveVx/8FFqZb2k1ymsxj5fVTeWba1etm44NlFNM3ABgGoBVq2etwaQ9uGhDE/p/M5TsH3oQQ7yvIRmzaUJqChWuYIJIAQdMxMOsCz4bFCGNiwu5msOcyIU0lTPT380z1KTQKEmpnmoOa9e6fMTO65KOyS8odipMSZRrNiUUxE2YajRMiKJkdKLjZHuf6+weTVkXNIVkX+iVshLpDoP2GIBlq5oLyW64AB52x6KpsBkTGZNYOn85UANU19BFMOFV1MzEGkpL8NyYkW8++C6Vf4LYPxxlM9aCAytmAWLztPVy+gYupgLYateBTgdACGgZzgEtvaZeDjrw4FAcxLADA25UDS3mJl1OBSc6XKmAuCpMw5eCzmRMpZ0snAgiqVCt2888klKlrye1/NLTqNSpNFXRM+RvkwkfZ5GEB5/ZxdKklooT3czoMAQL0SRVPUJs2vvUuct6DT/4czyXSiq6kqmYEetS2UuPPTcGT+6ZgxeB0cCM317HGG98M0q2TPbqgOXAIlILZE7GwgSWYclCzMJawMFrD+LP+Ne/78ZwfDpiziSfg4vqpq2HWDR34xQA6+SMCcAarOdldWVr1pQBZduHUUADVYdR9P/mAOjX1wZaMoPnTqd1hvyA7TnCFZrwVC+hgXo0Pe4QwtJdzc08L/wJi/eQCdNnXWanlJTvu3QirlQoeE6/oye0FEnp4U4R5YoQBndTvRSzo6MzmAPkcIXaalJTLxXJYTSR0lSqSsWg0qcn1CR74qUnVs7dgxXzMApoLJZv/C0ItQlFEpumoUyhdDlqAZydtp4vX7S4WlZXrpjnYLPyMn2TKveTu/97+2e49eDQqlPbpm7AmqnrUboRa+gWOQnTsWrORk+QaWvr5BpatnYGNuRjJ65WB9ADwxz4hjhHvx4QtXqeFjKSHRRgDqG+mKM4TCWeIi03ZGmBEOVwouFzZ+MGRabpKkYaHMfnabn0WqokSCrUmX1V21Ardurq0ybxRFpcsmzX5zMMV5BwT+EJEohzqVLCvXP44fRlp39QTzOFO7ov6mToZpK9amLuSN573rZRe/jTxViHv496DkBTUbG2HnT1XEAsWgwsARyQcrkIKzjmYlLDeLz+4Lv/uvu/9NNb8amNu0cgBkxbjykbgVlbJzRutsswZ+WUDTPwO0LW0g1TFWDLNd9jCB1sHxkuDuEO5/xNAdNtPcnVDMMlzJKuRxRwEGiOoamcCgpLVSMI86TPgeqXxDS4NG2NnbxGlSzdCdEs082yh8vj3rdpkZRqeZK39KSG22VbSlv2r9dR95dcgBDQs1ag5Zd3olQj1PGkBSVT0PhNzB4D7B25cWXBi+RpNBVNPUlk/nYUNjeVbprG1sxcOR+EY8W8aUJ5djZnXo2Yt2I55m8owUsP48+4aAT+42qHBwM7n9yzvoRuLNLSsyc0FdWX1XTVzcXUddOBMmDtjPVTN2tATOn/zSGg/9D9A3H7R8CJB1wPWe2ey33Ek4xRRUqDEmq7PuHqupUMqYSLrFTKZzHCmUcNy6AIIBmSJo/paUCKaa5mnLXTM8/qcZWmtXOVdOQy4bqt/iTpSJfp8AsjGk2nAc1zYwoiHQGX+9SkxoXvUsKeXjf9kdf2TiXNo/YAcuWptx7YM66wubmoqR7rZ4LOX44lz1QmsR4AXboALsG8pQtgA0+8S+/9F/70Pv77J1z0Yyhvz9P+BqBpwhJAgGzqrsOkzaBYL+vIjBmYBlr05JHvMBAY5B7DDQIf32b867njkc5TvXpSQh0dAUuVqssFt3Sqp3whL+oLKaYb9CdD5/K0M+ndaXAJfIloV7bf8jPqs5HUAk4LyfLpd4Sc6//tz4pzIZy2DKG7AVc9FWKMRkyZIsFu/UwvvS14/BIrQcJJL41G4VdN5fohDJ1POcCGlYUg2J2aC1DIZqCpqAkXrcYzoEuASZtnr8bK+UuBmhUQwOzNRgGX7//fWyAHhwJfy4F/+AlIiXzaPF7MX46SekwGbts8f/lUTFtftraubC1RJ+DY9xioDTvgfDP04JFbcc/72Bzv4hdIiurS0Qgh0uekdL/kKnd1kjKYlwyRNKpeMP3UTmiJcELIXN0kkiT8aV0Z0orqhGjeZb/0kIkzvSlNCY8mhVBMy8wmce7+dmVue9IIqo7e3n6lXz13+lgeElqcOQE7dHlreiLX94c4W/6r8+qTe6bMxfNPvCBKls9/SGLX+B0oacAUImevBpYtBKBAzl8+d/lcbTGdh5UAeMFuj93zokAP8dVA3HgIuOpX2gdPauN2lCxfPbtRis3JOe6wVqybjmmYsRagGkaYgCYJlJu/GGB89mc/MAnLf3W0BLL8CpVM8CTRpev5PR5ySJqUoThwrpc/L5UISZ+rxAOaReMyIlN+3p7nsaSnZqYJ1pJ3NseIiOE064MWjXTkxfuGiRThpOV+S3J6qMJhVERAtV9PGMFATBJdobQ9ETBDmep3KpuPUaP54wKQ+N2UjRijbisgDQDfMpNgHhYsAWashbJ8pgNdqVZXKRTA1Hom/7pzFHA9cGAYgGPXX45jm0+8BwiQepRgy5wpBw/kYfpGTAFmYMYWgTYDQwQO4MgQHAXCL2HjFLQbKpVcCFVyAgI1IBUj5SfRAOFcJQGCPDWqmgklg0onx1NCqq5Qt8vPsphMmaqbiPt5TrsKn94aiF+a6h7hOUIjkhDd8mIy1KmFw8gwAykWzRHdbUZ7C0EgYLqX2SyvQ8/M+1my0btfxFPYDIx+UQKgePC5/KKmApTQLQCZvWL+MpTVAbMwaw1Qi1rMAbBCmV36fMvzvQ9KNmi/NwzgB20cVYwtK9/D4x6kRIPEml/3o23czikAnp0JTJyFH/sPOzDM62/QAxiuBvqsm+4A520Si8CLalST8HXTBGRmMGUEFRo3QCiVnYrOcEkKdsz/a4DmwjR9GT0V3Qy2pPf1SRbzed2O5EEbarZxZd/uHO4lpYR0qCbT0BahKekZ7XnC/FWc6dHh6q7XFqfC7FDNG/NOOZEQc556AS8AyzJK5VNo7MDIvZBNoIUNmLQZcjWWY05yxloIrJlHlgP63FVEzvEI6p4GPrbBPxcEABv8FcCvwGPBSS8Ds+uLG0qxchPwmYElYUyV2KB3z73qp29uGr7/RvUQAPHp5B7TEQQc1dAUEWJESAkHUBQpNc2RvlSYQkqqW2pSdgsF2YwYVh4lPr90PGKqamYebHBNEEMKFk0Pg5/Pu+ndyLDM7ogbDdsa90dC7WcyssKg0uIhfipppLsec9SA1cvfNoj3yLGDvhDDC8DTz095pn7XU89zh0oAcrzShEK6eeqzmLuytnwVgLK6spkrgCUL52IOsGRhLUL4WHVG4IM7PzVwCAD5Ut5wdEBfXDQnuxQlDWLC1A3XffsfLFyprfYwFU/gJwzZh6GOcSNULsdtAjaW7MZbcHwpaTtQAEGohBmUKYWTBPV0lXKFSJ5lS8VntiZ1r9fxICFeugo7U1N6qI4FGrYMNxNgRBCE7A+JGZetbjgkDCGt1Ld9L1VbVS3G26OJs7k9afwKeUIaUZznNBqMEj/zg708msjd4MvJ2OclpdiAB307UVgMSScTwEM5flc389l5C5dUq6tsugBLnNnlKILt3oWLRuDwYOBLD/Kw9+11uGgVgEaJlXPxLTDoira+M9Zhy8SXMOAoHXrwIICb9gGHNiXnBsHHjRXE1GyuEyYlpTBUDs79KiRlxLSCucTXRs5faL2mPS/LylSvsmko5TlJPXrJhbDbpdsZ7UY0rStIgh4kyFArpaX5I5ZDDAkSvPqKs21HrtD6hhJW3jl+pEtVfs3KArWSV0SC2f5kru2zVDZGSAlsQT2efo5gLkbufRJjRTOKlE1TZ9Bn567E/zyLFRXVqpgPrJpjmmuAf95L7/q7cv+d+HTE4INDMQj7hx8dABwP7Jw3vVeQiFJg2jcfXH/sy56r8NXAQ7/iGp0C9GZ+AHBx+8eYXLd9PMZt/0BKmSKnfOnCZQTSdV2f5ReWCCiJsBJMnlQFiXsBX4JQJayKk4ZPPRMx00RaDqOmrvideFBJRNp7SCmcCG8N5QU+zPm2V5AI1t1ufZP9w8Crv7/K6H/w1l9//FZnErSbZ6Wfd8+fvtSKZFiupDbjL2AULip9jj4NrDyzHnuwCxgnN08UWFvUG1OchmnrywgjNfifObD7vKFq//eGDe3eD9mIEZ+OGIqLFHB8feMVp+dh3XJQAkB8cJ0DzH77C4qeQyClggMYfBi45fMbP94yERF1h8zPf8oRusEhPKkRyYhgzPL5Wv2aVP0CSdk7ecYJZjo+kiZM/WyWwlpaidGnt6pFfbZCVcpEym8Kp0vTFYWL9MQPA9SoI0CJlolT2d941w77y6kraVpPHJRSyU6ybnREUlrHfZe10YhKpOTsBYzejSciDRgD7LaKpvyVvzt6d6FEMyAp6GV7/9uA9bPWzF4JYCEPLgJwdSHw6lvcflv5t/TwyQh8fPt+hQ+BixsPD+6N2u/nbyltQn0px7f9cCiFm4/D6cj0tIPD90Ni4FfuDV+vF88GC4DtzYUhx006LD2NcpoyHC5SPKiQDAkrCEkTocu8FhGw1VTgQkZmUPIe0u59/mrS4WRr3NZUQTz4iKbwgMKtBEu5GR0nPTt6LkKozS2e3v9LEk6ls2DA6dvT07qoEgcc5jpX5Ilg0CcCCa4ygAIKwdYJe6QowsYHJHYXYBtQgs0oq2tAESaq7pTVqHEWL6n1KqL+ZdmvWUw8gLf53Xj/Hpj4XMK6A/uHD/tSEnx9473lkI1FTUVLfwamTR2Cn/tdgb4XQI4OFoPEl/gK3pGl0+pmAtguC6GCR+CQANFJQPg0RqUUDuF+y1RUs4cmLph6uwqFRdItyQOeIJ16tmsFRVzzc666qmGmEemzUmoonoxIkhG8JvdSJAlXVGb1FyPUH+3bzp1RzvkZCajCFelxv+ENvKo7pCetgCOtLDZuJyvY9gIw4XmCp7d3znoLF5HixuKGyUDdgoeHNmELgAVLzWULgrIc5bV44Pmn8dY795MH3rvvnrceuAe3fPYJPrlNAIP23QSBYe8ccSc1CiS2Aze/dx/sw95wyKZlUD3vKAYqh1xko2zHeECgsThuMHhKSIFg8ASI52ZSEI0HCPVMnturO3IurzOtI+w3I7GwDLkypztKhZUePBuwtE47RPwp1x9EUIqofjo3ZQfSnOwjfqjCTfBcZ0B7Z9AOeK6UfqGonpeZ1Z2ibjC7RfcLorrQAmwnFAlgyUL5xB7QWdNOv45x2/A7Ol0xM4aipAGTN8GZuwzaAqC8FsDTz2tSvncf5D/+6r2re/dIeTv2D38l5w66nzj7tEEAijevmIfDg4cc+fY6iw8/OkB004HeoUGAegDfrOPrpo/fLqWERLoSk8wwzYBkrm5LrhuuRn3CASjNNjNSXjzg+Jx0h+pCiwXO+ILUlqbPkPISS0pD9XzEMX3SY3pU0xgNBB1Va81TozaNZ6nXnOvo2fsXixs+KrppUgkIxVLTe9/Wj6crMihdCZliRWhEYfMUgtF7nsQ4rH/owTdRRBqLJTYAaAb0oiZR0rAagIWycDU2TQa0x96wBOA4GPnunf/8p/l/n98SxWPAsC/ITZ96ADbzSXuAwZ+OuOEgBP16APJm/DyEDxa48cCAo/OnYwuQj981HEDCzqAgrudSheueFLYGy9aljDHhpUe7dNMFFynVbzmsM5wRQzApI/EMS8QMx4kI2R0wTASSFoHr2BFCXI/oipTZGV3mqexzds+goBLdv5zJ4Dwhu9qD52ikAz2JS4nr+aNgTbioYCMa/E++CuepGWsxGk1AI4obJ8tk5ntfz5+ILaWYugFzl6NuMzbINbPw2N6HXlDxelc6XhewH8C/23EP/nkvPr0ZH47Af+4CT8OTAEYAQw8OBb69Di04NOQQ8PXQg1gOTMSO8UBTEaSipoJIqYrGdC6J0CjxQRJiBbimyWSmxj01RTXH5xMW13IiGpVqh3EhL66oEaUrPaZosIWftrsZsbCtBBPxDE8Jy5M8LSXSz2o/GGjL/i3Ly7NPtfhZl0EksXLbGdGNRCiuREzFLxmKIZoxfV3JC6+SR15cd2Lk3t0ACpsLZKncXJB5G+bGJm2uhzZvhTE7LX3SmqnYuE0VI182Htj1MPDGQ3v3EuBu4D93McAG/gg47xlW+se3Hxj2pTcMGApAAq/0/+bQ4MOA+tDQTHv6TikBSDSUFIiAiCiOlJQTzQWQIpmmnxGHKtJVMmVmZyygxdJBfEhp4ajm9/R0VcR9hpPihqUTGyTJUz5XUKY5toiYBhxyhZVuR3OTPbPbgrJVM1XZfbajLRyK5QhfayAz047TkDRUS0pFY+DbUEDWAU8Be0euJRKjNEpRACkB323v/jmwEpiykWuoweZJz87EeqUAwON7wAA8tJe4wNt/Ae6C/PfddwH4+9/+/O8//tu64yuCQfj8Fnw5CIf6A3+QNzIPGPx52cIN0zFuBy6iTRKBpA1J0omicOISSaSiWooLASnhBDs1NZARS/kdReOZaoaq+02FtfWCK4SpJ+2AHSQuUmnJcJxqkhMSszMSrKNHW7olLiGyBZnEHz4f0VPGmRaWcniXpeT1Dbtc8xRQT1KPKAykUIBPzluIvSPlC211eOjFcaQZF5UKqF8OQmVtOTZOXgvUBN26MmAa1jB/MaIv+fCiPnLknicBD3jP++vdwNt/wZt/e+0RirsPHR4I7JM3H6SD9tAh+Okq/iN+J+6rw9Tmwp3jdm6XKACQIoYANz2iUCkFkUwCRHOEz2RCqL1bkt0ZnuqJgODRoGsnGTMF6/A70knzcaZLm8CGF+CBpEtjYeYnruf4qLDSSKvuy5Y/Xuedjyci6Md4CDkuJ5YbdZVIBwOBhCO6ejA0A/lkEwDx6iNYX3ZSjCbbcFFRPfLJIOwcp5d3xeWcVeUVy+cvw1p94oapW8wtyHjsBYzCHs7x4qgk9t73T+B1/pfXHjGRgTuBIR99dAdAQMkbnQVA6x0dw6Qjjt341ZwHJ25VdortMh/YRvJh+4kjCacKEaCEEA6FEJcRwiAhRroiAAAgAElEQVQZSTrBDN3pigd4dpw4nFohXVESmaaKjPZIlwwGBHy2lZTEzujKDrrMSmmBoEsdvc1vWEmQKylxU1oio/WEQWWLCJn9+lzu6EquACFGUiPBEMO4ndiOKb3n4dFXXnGengm5O7+wGSgAikx13/luzF0sd05KVkWWzq9+BjPw7FRM3DQR28EAOOooOHjqVY4UwB08sjfwjtinDv5YgHxxMxl+aPBHnWEAP7f8giFHBt3wNVZhwwQA2yS2i4JtTeS/NlF8JqOccMKFQiCtEIgjBCWeo6qK9Md1CSQDGabwDI+oJBCnSowYNlNoQlWp63AzwhOGn3NHlcEAF2E1xydAwoTE0k3eGU7EZLxFBITPSebx2K+XJn0iGpbSIq7qdDLsxPgd+RtXAK/Kx17YOAUPY3thAbZtKwK8lSuxe+uERXMne/W4yALqyqzVs+sEkI8kGgxlFHaPBh59EQ/jhUebdo8eiYs++O/tn47Yd9MBHBry9XdavLEY+cCgQ4OoRHXPkqm4qADb8oECNDNpWIpQIDwqVVeyYJwkQ5wQT3OJZ3fEWUBLBuD1TZ1Mzz4thWhFp5li0mg3I1RJV2xKXScmA2pXIKqnRDTnfNCJhzXLH7CVG5DuBL/T4p4qzg8VPxOHyvC1Pc8nxWkGI5mebPdrnZcxFEhZsK0M2EMexVMAXgcEBAoExEsAfALwd6avsLRnsGz1bAciABnCRfbqEpTjBQ/AczaeGxNFtvb3wJ34z1134pMRUA4NOTjkmwtPoboS+6fEfqSDvgTGVG7a6C/YJiWKCpplUVNR4UTbRpxRqELRbH/CiIHn2BChlFC4GzPSHHFK+DvTiZKrnWy/xnYsLXAuPdQqrVhOkqY6srI909B1O54mopFsLRJQ0z3LF/fFE5nkRN/OvAttWuslJ+9bFcugIhgJKSk3wx9ISokw8V1i68RlANleOIHMayKPvCa9zuNr8KRB5E5cJIBjXe1jG2V306J5i5+ZuxICiSULlyEwflYolZiAhpLamqc2YYs1ZsXE77aof+fib8CHf8THjOAAGYKh6I/q45VLF+xrPTnQOYrBh/vWlwIgsghNRYVoLKrHfhCVK0TziA1ieUmPRywqhQdIYYRzutppruxW9KB71mekCydhnFd6+86kFNPupBlxJer4hZZKeL+lXaqGuLA8R9qqGyTRy0knfoklL3Qf73fht32tmsV7uGev7durNT3qqTKhaa7matwAK2wuRPMEtrroZRBg0uwHPbEDhYVE4qIqcjtePF9WN9PBoplpq/nchepCKOuTFTULV44FFKBiwucTJz5x77zb3MmBePqfP7sVCkBv2bcfQ/D1jf859v1RbcECTP8DvsLArzzUYGOQ8nw0oaixuKG4oQSF3WmGEWPcDLsG4BBFCgVE8wgErHTSIZRENBJwzrpqmhZoCarIUGjSoa6dEGa251pn4+Hc77t7/OpODsTTSV5CUwgoRV+cTLvq+JXHvm/XzC7nhJHHfKchsszTPYKUSycIkBSLhb+VDGgubN6K30ny5OYTb+KJcbQZKCDY8UR3/y/ErTUow0WRBcuewRLUluvT5qxatBi7gEIUNW0dcxI/fXWV2DfJewqf8o/obfiYfHETLroRu7c/FtrxNnDVj4MP3/jV9Uew2ZmCnfnYng9IlDSUAMhyktJEHw+aJEIjHdnEo64wQLw0s/vwVeKXeLwtEZSBSGfmKUcg5+TAE6wj7xwLaord3RZO0JPJn4Z8lH2t9IiZww0aFwEiW39WWrNk+4V+nSFy6ws/HOzTET6lp3JDPZyEDKfSSIpEM2FAZp1jzUBzcSNWZT7+6iOv7Xly9kP8JaCwuVg0Fza/NBo374MDYKaTVgn7mWVAOabPC8CctwIXTY+ipOGP+Ao//YSxH35CRnz4RwC3fyr2Dz9yA0bZicLIs1D+9uNP4Pj6pn1/u9tTd40dt2N8/jZZWNIoAdS/aV0aTKndyUyVMo8SmeVZHom0BYQOLarGT13W6mSbUd3RaVcwrcPqSpw1IoF2M8tOdnXkpjzT76Quy7lCz87KYwoJRE2uk1RQ9OBXHP7lhK0c753epcTiN6I1HCU9jExPzRC6pB0ZskuNWHAzctgk6XE5KUAE8Kp8cstEAGN3yfzGgkJgXBxfOvCvnl1dOXcxquxlSxZWVa1oW7F4wppHcfMXf3k7/ssTDj7E755/+o/v3Yc/Ah/cCcnom+9VVr+IhT2nvM82/R0YcgjYd9NV0/G78dgOoJGK4kYh+0gvTrXeRHSFXehQmOsPEJmZ0m2cyI3HbnHyXGb0U7vFD/1s9bJUL/Pqts6Qflqovw1q8cd/6eVLd7v0c4O4vwW5CX9LW6/ebUqAUeW9VE/n+p966pexTQPyerydawcRH/BVltm3t+4GMoFIhApHF5KRzRNIwwQ5G3vkY9jzJPDXf0iAYFsBAduLQfj3ryWoRNry+VWV1Q6UJfMW4Mgr6MQXeBvb7nxpJK6/4o3Nk/4Rxtv3/fNe4D8EMIZi7C7Ule0Y/xLuwUXDDgDD92eswfp0QvA08rcVoLgJKK6fMLkzjUghwQwphechqmvSCpKgliR5qVx6lPVI/mDnxNNodlcadVQl3BL8sduV8cvTrWssRzNd7egV1/aI9gv/kquEaNqljGSH5b9iZ/Wenk962UcOBK/4wfwqL6bbvSzn0qx04nm6Hum+oMTDSIQUl20CGoq3zkQzeexVeJi/HCAQtIijGc2jIltx9yvAlCxlHlBdzlGOuUvvfwW3xXBNv7fwx6v61ePYsXXWO/e/C/ruvfi7TvAJ/vuI3QNVZfC9/DguGnwYwGCO3psmT3tBPv3CLkgONBeiUcqt79tpsZArUpx4KvX8JOA5aqef8gSJdvlS8kJeTnqMtWUpXGm3crh23sqMBuk5zUycYHEzfrVE7m3BXOtqIxmkXpT4CYFqfnHYvtamF3Tf4C/PXkinv/WFHSOk66qrz8WypCIsSyIzFQr9liGlygBS3Ai+DASPAlsnPPgmBHYgf3t+oUq8rbuGtdz1+merUVFWV+l4viULn17513883PXh44e+/x74MPgPYPRub8D/gUBg70hB7vzgto3v+7IcVAFPALjS+ObwzV8AhwfdmTMZzxE8LwjG7gAKASJL8SQloXYSVEGoTaRrSJlh+jLaFa5EVOIFBwxrif3ls3Pnr43bfRzPpyTdXy3X8fHL+6GHkWo5kxPksT7egF8zg7qAdsk50p51PPG+L8vRT2gy+m3P+HFjeFbLJXafzMMkp9Pfm4BLAkWGiZEIE5lhsykbCS0U/Jmmx/EaGTlh/vd4DED+dmwvBmnEx2P3v39PRRWteKa2fNHi6oXT1uMfT5zsuuflq3I/AfCPOz+YtQYDNbx/z9//8uZIMPHenZgCoKiyGvjgzpv2/QIMwWCXHPnyKaMqW5ViNJ7DrrEAtucXNdTLb34jNEPweLbQGUmpFli3zrsUf8IKgqSzj9tv7X3A3492GxktWTGjO9yWhvjJrstSL+VG86zzl/12uSoD12hX8pie0vBrSIQ7fX0u/fJsotfVmeGc+Lc9rnE7O9STLjmRm2G4GaoUZ3oo4JYZ85FoJjolAzbjf1564pHXX358OSB3A9vzybbGiZunOZ0Y/hm0RYDPnrMYTlndfe+NeW7Yj1fgp58GfXnP+/CNVQH3zvfveZ2/8SDwF3wAYOWhl5uwdMEL71wXHXAUUORhDB58OHchtmPUbuzG6F3YMR5As5ATpihdEqrCQDxKNKEzIoUwjZQiYhnCcmJxEbD17oSSZofOJEPecd7eIyb8LNq7M9nndDLlc1SNumdz2vxcdX1uW1q4Q1gXvkvYam+Id/aJVCaHInWFo2cac/y4kJXB4DCftACbEHmebQSKG0cbTfyJ1x4BwUWvPvVCASSALdPXTdGqKw0swjS/KVZhll13b2J4HAeGpwBwvA9k7pqLV5137gFnDwFvRditnxEcf/mPPv+CdU89zn8YMHw/9gP9iRiZgWWKeOEpjAbG7hy3S0iAlKIjoKmmTIa46xOUcI9bWULzQ0JodogyDYmMeKfQ/Kawcamd9JJuQOgkZfmDscykL51ni8xsJ8NydGZxxdeDWf0J6CVf+lq1QNcp3vtCKux3rCQ3RPRyaSgiJ2U7GcJR7UwPDCQtzjBxS2PBtkJgj9z78MtY8P3rYNgGFAJYB7IbP/dbfcpPPK8OiP0CEj8CQPHu77dOAfrf1ISVeBTvvThKsufpqMgd+OxWfD6mrG7A0cLpiKvXUwnclnKODfzqlnI8g+fG4KJdY8ftHLsjf3s+GkpyHDWlJXUFTCpCQpKgY+gO9xGf5fekEqR99l9yKkQ8j9sy9kseiQeSXency+53UDnnHM9OS0RilpmdNCTj1O6Z1HzdQfU3mfHL8MRpNa6eV2RMd20RSV2aZzHZldGZFc1RNNMJnMkjPUVMRBnIBN44htTgydfk3pENJSPvf2cXUNTUXNw4UWNrSkP9Pn/Js+sAzOHPXv/nd3GjmoV3gSmPXAD+z79+2toZwH27ntP/unvUvyj2D8fXNyLyl+NoxubdoF/jZu0jXI+vkLuMRUpMYPdojAUIxm+TQAlAHCI0osBTJdG6PZIKd2f6HPgsjzHWpUaPXH7Qs5WsTicc+LXdOBNMudkIGzbveeEyt6c/Nx7IMPGbnwSi0u+nWbJNRn7WIrZzPNgz7yNQEkrFqeGk3UQijEUsM+DmtoccrpMgJ2C6BYbNKAGRFQAIQUn5D+886nsOtLReIhiomunFPr5lWnAlUF57Io7gu9d+Z+wbrt+e3bXxzhagDm9AeSksE/KJnTCgUFxEgSoMwJ13TwIwfD/9CNcfG3JoTMAMlWz1NtPRzYU7xuN3BU1FDSVS4UQRklIVhHhCVzQvciaYTaIagoFzaV4s53sZbM+O6V0X4vEgEdJQO3UE7PNdLS26eUNaV6JvWCak15WTVBR6IUdQmtEmVM2X8KPXLypJMMlj3gUtmGeGUoYHD6FIgksQV2vNMrjLMJHLwmb8buTrqD/9Cl4F0ICiJmhVoOunHMH6MixazCZvumnAF/efhRiyH8OMDx7x/4Dl898imPqy7497nmx0Qf99J0Dx9YBv+u8erSPVhb+dPbz/VuVP/z02mKPXTOyC6pVuhoPxaBoLFKAIAgldSpCOzJCfCcUj0t9JKcCgEUNL2iGpHWntzozldfTQrGhKpmuqY2YkPCPP7PVDOLMzgzCd+BJCpohCDZf0ds0/hOiJ3sdbZKrLs6jKFUXxPD/PzFJCfk/1VMuWNrVYtB2a2xZiWWzClmLpAVU9JjwCvPIY8NAb43cUN4KW1tuYS7ERAIW2eNFdw/f1xzu4zcFwPfn8nSevPbuUQgSx9nHgSbD8V0f+8+PbAdx4rD9COAhzFXR3GPsMGHyY2sheERi7ezSaC0GBdalNk+tL61EKaClNek7Ar0swqRDHUgzSwzCpQmAjh9rp0aRCe2u9Th1PXPKjZ/sJQVS3W2js2pvTaYYI2h2KKV0wM0a5r5MEEh3KGX8gnG6ZLZfprsJMXbN1amvZViCR1q4y3aKOYzuKlpXyQ7MNJoCmAuRXAXsJQUPJow52gAAEk705gpfVLVwyZxVE/C43hW8AhN++0YfDwz/AIcheOx7CP+99yxu5PT8fFPd+iM89QABhPPTGkcdffnXgAdymfHh4CGfTMK/5eQ7oQGlj8fQN3toUSrc0cAhX0wXRUh4jkgCUCw+UmCwAzVMFZ8Q0s0QyEj/upkTaBeHXzwkfFDOQm9Mhe7mchYxsL8q4neghFRHQPE8RrhcO+onhkU5F4wFFZLdzxhBRDe6netxLhE1P9wIp1dJcyVlDiSjYNloCkOQhNCxc8tcnXiqSKEX95LWYB4klWDV/eVWhG2od/a3sEXrluq8x9P4U+n8z63JFAPfiAYC9yB4bCbgf3/IpcAOOJZd/fO13L2Pyl3d89AkGH6bO0YfdVYXYtXPcaADFjR6fvhaAVYbNJyFMj0pIRyWgUIggVoZU/XCYz1MgaWcqfolIdLmh1sBvAT2UtLO4lZ0SJ6/LuFwRZ7tpW0pXAgajVsLN1EPREFMDfZN+57dIT/2aLxUWZKczqHN5phtXEun6GTuzu5cV8HjKB8+fFDzI0IAi7B5f1TP8yBtvuN3AP4CmUtQXl8oytgLAPe9jOXD8Y+AWMxDvhgqo5MOrv5m/HBd9RL8vKWk4vBZvqvfj//778QjsY0OuB3DNH37ccEF+hLucxOADA1AJYAfPB3aMf24MJtZDxQZXApMmWk4wiJRfU0EgCHzCVlMh6lFNWuy3vnH7p2DgbLf3W24gqZmBePclqjAEifzYj8pux5dxCXV9n9xw+FrRUw0nTdYVlCx1+oQ4Q2WnmuHKzKjpiM50y3eeDbT8vFsLRtQQMRWaY0EkwKRgKGkgGLOjCqNeB3mscckjrwEgAKmfVDcL2Drh/asezS6795+PvvrItqtURcXXuMf/xnW9no68/vA/78UdWIL+WAs8uOt1zvif/nPXTcCixcD312IqbgH+g0GHh++fsnFJD93NB+CBQzbKhhJskXzNrCWdnJM4GEApiARLMhkECXu8PTcV9Gf1ceR7j2Z/eC5bnsxMCVVRSR68nM6OS4dFetvpHe2dwTa1f9vlbZqVEVIE73bb46LL9Idl3rlTKUK7dV88ec3P12VqmTLstls5HQGXW5SAM8Il9zLPMpCJHAJVW/AwAAKKUfqOrcWNvHgznJqKCRun/LR0wt0JvPrgaw+3aB/jkddwLu+mfX8N92afjngtcjcWPjNt1ZzJm576bjlevvvj27F3JE6VKB0vf4eKms9v/uKOxOGh+/+UjoU7Rm9Ds5ASskkWA2jmE1EHJEmYU09NCV0SBQTU9knFSKaMDDfd7OvfPzjW99fOpNnTDp/LTdN6RkVMxPOc4dnh3iy7Tb/2N6dTyw2Qs+GTl14WvVxmejKnhZ0ylEC6HujjyJ+tVCLyo3b+yhSUFMuUIkvGw0x2hMAUcNVqAyuuB/K3P33lROBNuI/iFXBRREUheP72K9BQMqWuu3ornsw/9+aQ13HXgKOv4dpjrocVrz780Yj33Ffu59aHeB2b0E+g8fF/3f75LSP/vyO4AJCqatgA/J5zz4250zNbwBIqoUi3oMhnowgqNiYp3aIoioBId6MYiK1Iifl9CNKdCiiILMvW7PTMzXN+/J8H+Ai37eq6B9Pw4JY7/ot2wP96znj9BYi1A94dtPZdPnA1sHoI51g6ct6EQQ4V1JOtw3LU41LiJj0uZzmhwRWBumDBmtYNT/uLOIlrltdHfq9DSs54LjnVvnplrfIe+8vLrmF1PnBvvk4TrkSz4YpSc2fddEHsgmzIhZ7KeC5q2UkpVuJX2V+kIc/4854SLlmMUofyvJbWOVv7wgfPvd93A1ZGngAE3nzr/i9wzYviA3x/H64ZiybnH/ms1/cjlwL+X5r6D59pnSn8E9IW+bdb0TV/FC2wB8Bbb80ZhLuP2ON3HQDaGLfsufn02IX09v8CRzq27MReXtcfA7DahYBYM3gNH4JBWDQSEyDbOTkLj+FIKiBUybHtiMOrouLvuh22efQr/v3yccmuCVzH8v/kSslFv1c4dmHdQqmRLB3Insw3JDFyq55MUj2WC5Y2tqv2dM4aZ2Qn6+oRi4ZqCGlwRb6B2YVKFo7ucgHhpgOc51RbljXqYfgAHz2ZB4ZiE/pgzeC+JjBAgDiPfXkfFowDuu658XyqY/qlbBvhfItzQJd9LfZhUx9cc/93AALA1vWfw5ABtMMt/D9tFh4DcLqLtXrIvT1S4ujBbnUBgnX9V2PIajF4NTAYy0YsGTVmpngN1TmvK+ctx8hqsBIiHTZDEKKAOIW5veFQ1bnQP41uzOXzRGQrhXM2UqrDil7yNmq+w8NY5cU6yXAmEPY1PWSZVK4y8kbiID/Vxi2ucW5IxK0uu4xISiR5oC4q6zauVh14IaoKYce5/6p6KV8qarwMwHO2wKsNhpLe26yaKeddQBarhxsxTJ8ybsUwxOAA3gJpHdC6/WG0lBI4NapFH1wzdmHfirY1n+FYG4yg7wCfNJPa7AVuW7/xm5YnsW/f+/ih25H2nQ6E/OPw4rt89ZBVGLJm9ZDVK4cu44tHzbUmA+//6ppBWwhFA+E6q/HKbt6MinTYiKmstrb59YnYdY4Eb4HEC0klM9VLknF9y8LoRRdCV5r9k/fm6yt3HKtvKIIUN2km7S9MRfLtNmoXPOb1QcUNlQXS2brcf1U/2RyZK3UrJG+hK4VCMd7QLrECuaIoAwa8h969BdB76wPAm589+txHbBmWd7sBU36tWd91z9nnP8TPD381ZNL+lG22P0yPNcbYhV9u7YUZKQ/avbYbM1u02d6z6A0A1JOapEyf9crsVJd96BCoq/TbsBuHO2HbtrnhgWLQKpB11mCscoctHbHAxUQsH44XxzDhSjAFPJQaIkEdpoPFiuw/bpBiD9esr7qxo1TsXAkXOMV/p7iputSfESVauG4NV6sCRrtU2BtsHiv+K5D0azb1pC4o6ahRnsqwipRh3kzjpYZeoxcYReG84KKhE7EqWMSlNbGAm/MRYkXS7KVVFBBbmpPPnyDYEnsBX2HosjGL0HoFcDvwzB5U4x6vidDsF08bktOaNc9C/+Ix/Pb965iN1wCke+MfhF+X3pppu9rshXgFu34GwP77aD88WHGwHXrsmMUGrhWrh0D0X7Vy6EvLlthzbT57Ehri57sMR4YlZBBqqQoKXVck6/qY6W3NLkc/jUd8dZIX5HzI5OHK604bkpNgMTtxfetLnvu+V0tsagaFJ/2Pbsthy/Iw29U6XrbM3Bm78ApjqnHQlC9oWVbpU1jGK5DyyC4KzZTuOF6ba9dxTWp8nnGsxaM5zAI2P7DdfQH9Njy/cuQizB8/6+jnaHnyY+C7Tpkf+2E2yIFWJ9DWPdP+uen4IbilDHMnYoUYPo8vVIaAzpj51uT3W+KbakzLxAC05Pjqq0cN3voIesIdu87BEOCl5XzYSj4c8ydizsuAF3eB5/Nw3SyxbY9grkZ002swKtWpjFRatb+3li/njRomimKU8Xp/IZh2byjvkL/UKrilzCgmcqEQsm7nTUGFmmZOeYTqQUcvjqTzVz2ewlt3neGpcNYTdOONHMSoC5dAlY1UQJWygTiNWlUuW4OnTfe7/7RdgN7oueWDFzb0BZYC1tQ/nScv7QVefB8HOvXZ8PKc/gIn0OIomnWY/mn0nrfPNpgKvDtw/XqXPvf5Z08Ox+Rpb70I+B9ZkyESgJPovvPRiXPbifaHt88WazgZBGDlUCx3RyziLuY2xG+8O34hayCZPA8TglMhDNcW4MGMbOl/OlWXi4kn7wmEynR6Q4YLT0F1LSs518NqH91PzzbwwePhHvioGRCXKdFTTi5UlHBIhkh5tY5Oa8hZpdkekW6lF4tSTi4bGX+jhOzhcX/QtUSjeDNuhotLGPptAHoQvnw4tvYSmP7HhmcHvvuK/uqSqRNPAs98zAac2XsA/eZg3Qu9qs1jrY/XK0b4npVDB8pTsZxs6LeRA0/gX29g6chzTTF44ZSp+BfHlychTqDd7ZMWDH53EFa9hKEAFxgzx5kzESDif/+5E8OSlMlxyqmkORBwZcJVqum6t+b6k+CCMFoZLvW5ppTypbJSUaW/XrEc/rvADsl+hxIv1TgorRZpySEOT4XLfCaJukIyRITnmp6sFgX68dtzwaoS3sg678/6bS6shO6wgCUTwdK5PMOGR8RG/Lf1cGwS392P6fwhrr7hodNH3Tu3614QhOe0AbDh+dRfH6B7rtVx/Pe/uA8f3v3uZMzmbj+Qvvj2oa/7rhw6bwJsNP3f1aelmZOB24yDv92a98Nu6x55CCoGrhFDVophgBi1yHImA79B3P4/7OxuJhVhI0AENylMDm4yFUGaypwvSJUYxOstzzfO1los9Ve7UCpXUcLqxL0nT57zN5c8ae6mnPrlEZ9RrOcdcGFXyo2uKiKRNmuljOSm835hx2siYaLmCbF5Y1GFXCgbtZxCuSAEkdHDQc7QxxbYAb482mcL31T74tNkA0bl5wI/9E4C/gm/4xjQVv2w64kRy3Y2lZqcx6Ixu5ad2DeOYtIiZ50P2Gp9ba/LLxmFqeLHe6SnP8gyAA7H7fnnluJUl33Q5nmAwcBQLIPgi0fPmowf9Vt3dt/ZHerBOZItZCfPCaPgCgEhVkbKS2mQtJxhfn7WK6R0jVpQ2cSXKKyQLhZkOhY2OJQMSTRjqY4WRSBoyTbnPlvPiiJXtlWHOXnb4Y3O5y9Gon6h1tOoxypnLC/0AqhcJ1z3RXU9Y/h5SK3LsAm4+ycsXs6/eXBTn/chNr4g20tGeONrgtFfO68Y695iHcbRDt0smK/qG48Ar4459sOxsxAzpsmC248Dvb7pizXW2DkvT51/D7rjhRUSAIt35wcw8v4L+9p0enlJ//f4IFwzAovGLJxrzHn5nl2/CkgHOnU+KFziSdBsANyGlIYl4JXtcMwXl4LRVNnNrnuJxePcuWTrZn39YiiuN7za44djLRoIxZAFt2u9aUmnCWoZElOQLs1mLUUieoXFz4kiFX/E/clm6UI74LP1C9K5ZqY3FnFsGsx40qi8XjNyPoZexP2uyz4M34CvABf8gQ8Grpw//q5irAeKnl/4fNyLm0B334L6sXeATne/japJwIMLJ7+Bf23o99Ujnz05GDNtvG5/3jLffu2guUDvzZ0VC1i16w/IhZA/sgdh9ZDlXHBgLKYV7ehx26+3o9uxY7ZwgSy11IwjwCXZkLhlMk+g5nBxQS2jRdUFhXGvmYVafFWuH7vMXLk4y6sSJeafzQx/nrh5H43K3FEMCFvOUcfPVNniBFK9SsXKuXK40BMvdGSPDW6yaEQwxKSifJEu8qrFDW+JLVifTQ9+B965Y8hZZdcAACAASURBVDOA9Pm6Lz4HSpHEzxMBPPcRJs8E2qXPAx4UvgHgwIEvHl9bv/CIwMypTNZGo99Hj372JIDJeJ2/gqPtwZfmpyfmg/wMTHtpAFoePAjZHbDqpSEgI7FYYK71Gn7b2R3AsTbHSMc+6YBkcsOmAHEYiGkUl6aSpla3Ml3oiddRWWm6yglGDI9eWJEvuimY7vrt2n2FpUmSVRQip0muMFYQkyxvnsS4YphUy3ARSeRV4pbYblKTr7a72FR2Y4GsJ1OArC783rhW1tifUakvamgkyWhv3jOXFlz0w7foi2ueSk+Y9kLV3OeT37JHv5oJ4EjrlqVK49Y7+21oEum24HF82eRIH3dISEC4y4evfu5DG2sHTXU89lS8a/69M0Nefivb1tkHIIkwTj67fuHA99YMXomhw4DRizARwK2/7uwOtIHocHRakLuOI7gwhY9nueNR82macvhVKURZJPB3LoOIaxL5Jr6T1pZVd7tcWRnSohmkQgLCDZveZMD2uPmE42FC2GaJ6xLOszWOR/ozkmThnJcXBQ1PKBOAx7qqZwqjoiExTObjtnGyoCQRZdJGAO2Odhn1qfoQNsVfABrMHokPeuND3LsO/dc983F7ZS9O4vEvem5H+GkDwPXnu2mZ1bhmgbNiCBzpAwNT31Bfe9tyuwBYBLfqKLruQeP5CKJZEca+74gV4CswbNmIMZjxOoDbcbAjDpG2x9o8mtGgwCu4R5VIwPWy+M3VXp5l3qs8r7q1ASpfUMJR44bLpqVHs08b5wU76s9FMjmfpCSjjiaEI1FLU5IqkPIlfrdMIueqCt181v07Wjdy7HIvA15HaODF8IVzwqCON6FmapsYkUISLzDZVw9vBGSoEI9gUx+8ffHdKiwFyNiFHX545gKfMA/y3h7l57p8ge3Agam4hmE3Hh4anPXWm+MWDcMqwfsDUMpeeA3Y3nOVPRLpb9Buz93ZPdjwd5d9zwAvrhmCfy0TwFwDwM7u6HiYtMNxAdenpVzZqzJhOiq3XdWt8lPfVaJL5RFeGfRJSZnipDdWWJrNs45NcFaXGIlGLZ+cEW7Wnxc+wSlXXaUs4S1WRaCaZfPpnJlWfYR1rPN3pl7oouUIJ23TVGFYSKpjJDw299uikBhKVKgMbu/Ndzn3L4LAN32A1555wBj47kur5DQOIR34YNT0stWtd9xl7xt1tpKR+5NP4foL5wCoksCbAFlGXlrbH1g24vUxH4xcitS3VRwzTrY6cQSEtDzZDz0wBcDgFRgGLOOjFo3hUz57Et33KQQEJyCOTpazJvVIXAiFUqHDoIZk+Lic1pvQdMBnlTjRsibsrzu8ZysZuT+59+rZG8y6iqJKgoWr/EQleZ9gLpFkFOfCgZRKOZPLy4NelxCr5oKsqUmzLBb1B8rjmsaFlOWkhIeNQD0CkqoLIdhD3z74wDY8BfTDI5v6AB8/+Gl/rOpmlnVqWYHvseT1Or224u6fcTlz42ezLl9GaxP/ostemSJNxWgswaC1Un956ciC2XRBE09MjEb28gl0ijKDAXN2AHhPDBy2cvnw5WIUxHwL+m+37ukCHG1zohWOUpUL1ZGCquMopiSEwqnC/bQ6UlbbsoL54nXNOlc6Ju4mNxzM3OhpdvlyRbmSvK7u1doSTqTaiFupBxJUtyBbboFcYMuBmLDzucvBYFWUGexQnZbno+ymOiJVWVIneb2oKCDUkfSIK8d1j5yuayYKKMMDW4C7NWBDv6/7bE4+iy3gLwdfu+fHl1bhvkei2oxpTfHwP133bHztbcSW4/EvOt5C9gCfYBbenKFOXMCBQeswBNDHAbtt7gDvtGkDlXHpaMuTLz8xqVQaAKwcCgiBJaOAxQp+YzjG2x4XQNuTcL0xQ9dKQowoii3MnO0Sf/BKrl6jampKuiHTpmn3n2ymSXPpSiyZRSgnWelSgUA8SlUVOvfmqZdxn2QwjxyxuZOpqs0h7WdcUipJob9uPalSN0okfp0QOksIElQgsXqc5wJC8RLKLIGe238CQL7gm8mzeLZ22wfAHT/iEjo5Wbvo8WwQG+/KAtd9d/8/M64ub+tQDXjJDCx+k74OjANWDOu/ZjCWDwdAegB4681jbcgu3IcOh4DPZwr67kAIACMWY9QCPmE0dtNOEORoawAnW94vcko2d6qOR+XEJpLit3OKXZ7SMxVuIpC1iyqvC8ZwNisiBXW/+6fl1eoUqJYL+sw8l2naNsygToktWSlG0naEaEV+k6Ru/INIxIVboIZoUNAiWeOxv5nSiKV8XKofEJTUBoleScJcijH+PbYDmFH89JePbeq9od/6nk9+Nn4+7b+u4p4f0WsLMGj2G+eOnBsa8Nw/aG3j5bfsRedfgVXPL36FYIY8ad6EecOWwALoewMAaddtQHkLRRxFb/N/uGbkZGDtGu4Cy0aMXjx63CwA5BYAtDVOtAJOTVA101PX0GVFEMEFXK4U0zwtKq8sLLruopB8tVcbnTt9Q4LXP29q+bQh+7Jh03AVxUPgl+2wZvhNUAgacPSsZF2oLnOPKYT5IXz+uChTK3S5gQnhby5d0uC4ru0mg3FFgOYCetwOFrDvAfTY0Y9QkG/64JrtY0bPx8+PPlpm99gReuSbx/7GtJ7npkzHT3Dmj8fedkf2o+NBOC/wqW/xSSCzJyD9GrBg6NKlI78+3R8z5EnoeBDY3Ovun274a2ElFnsgXlqO5cOXuaMXjQHW9Wc4wdvgeGt6WrQ4FS+VVME1QgkoIRDhZImwdTflS9hWVShn5BNNLydb3yjliw46rX6re8MZJenWWGFaXZTXuUlJVs7mAwk/pzmNFZ0u0HjDmrZ/1E2rMjeU8uKbKu06HoiMRyJWQyMZqIjGijUW9vJ4gV7rKxAXrme3EFn67z2UEjy6CVtSeFxb9PSMyn1xvu+unx+sk0TuJzzzMab/evshtDjW7CzQyrv3IJ7YAIC406eMB8aew5hF43Bi7aS+AwDv2JbSwbZHAfoT/npy7MylGPyuACCWYvSiMQuMqf13dwLaHCNAC5xGi1uuypITK6bElCVbAamOZnLNKzOUK1KZ/8ZkhRvUkqEbfx969JBocewMd1Du5WpAMhKZFsRldoWsx2pLzBhDIoJGh1pK3h/LpDr/UC1AWagRqwr4IaiwPJbE4AbydQwfInHNa4Q5jCthb0Ut29v11//crq2f3R/os+0BzHgd+GTuUlxDsGVLv8EO8PGzrSbevvXrGeNb+YAj6Nad7jAe+QZ4Y8oUXFO4EIsArF0wDk2BsTgJHL2N+jff6vs+s3QkVrw7cNWqlzACwJjFo4HPZVzTBidxGjjVIpjymJJGqKnJXhOKlc0VFqq5ppwkrbosni9xdNdSdb288dc3nDjuM4jqc9MskJCCdlxTLMnvtQtDmktktx730aaRmri/haGTdJYGLwkpU7dG9koGi8RDatqf1nWT+L2yJGAYufpKCdA1zbAH/+u2GZOATX2wOVOJh9G24qlk4LN2P93zIzY89SmA9UuAXrMn4QTQRjkgdgKbemNQYL6LqYo2zge8MQ1LIupXpC+A5jI73H5XDxm/3d9261aAENDBWCmGYfHo0ZjhPgGcanGStKBnmp8UrUCUbNrLqer1EBOu7Q1nE9dV5JKBmliDXDRop42QrRephfF/bvwz1tg1KhRH9vI4F3aIpcKOToWsmSwegRJRCUlXKJlTMrMUHpQTjFZ6/9DruYTQlAeGrOiVIZNkEqKIZqOkltapCYurBsM1HJheMqjPFpCngeR/W86/p9BtHurNJ3qnfgqMWYRRc0ufatr7MjuIYx0B3PlLz813r8UYe/LU6fZ8jhn2G7w2J5sEy6p/SlG0l7DjwYdTggFYBbF2EFbzYcuFC+B1bL1OuvEkafH7TafhcByeVChd5nI87dUlTonL3eT1TjJW6F4p4UrYG3Pkmkguf7R5WCrafYX50pIgoFYg468pzKm2DNdmxDRJLWc52SR2pHo/pVCkTH1HMQSLhupxIpSkl3LVSECjkOV6PinuI1V10t64n1ulrMMhdNj7pDxlBTZDYP2zj32Javw4aC0abcbWicAj30QBTNy45UF0IF33dDh4iwQH2/FTn03mookQDiF4HZg69TVpGpbmj++5+WjHg50ARn8B7vp57SBcswZs9RAsXjh2dnZar7MAJWcFbj7SFpATZsBUVRm2oUAAacf1VXuDeqy+BENkZclCNO2oZxr79nskYhZVyUJKE15ApCt6yIHwOIRIWt51aVrSJV/+eCBJqTdHDS+1PeGsLpvSpVKPBOaE4/ALJQuZQaGkntCy9d2kLjO0P3wInw1+0wanDwJzXr673ey+ibVdkwDmTQBK+5ePXjx2YemmmzUOAXS093blALrn+q6EC87EuLkT5xIVb695d+DI4RVtj7Zjt5pt6m585J4fYYMtUwav5RiM1SuES+Zb0wBCfsdNZ/iJVu1OtDoB5GSTZOo6NjjlktCpohplCbki2RC8pFYUkky5TzdQummjJiBs2CJWIFVEgjmXpQKuzJmgzJUVNckb0pr8pQozkmWOUBkVmg3bZqZkUwaDygkQwrkGEKLDAUcm1wCFYM6xdkeANVMJRO/NSF4BYsMv/4I9Lb4DJmBk1MytxMQrODWjDeV0b1siDsHFNa4d6x1eAEwGJASGrAMGfwCc3dcaR3DNscfFj8Cva4mgwBAAYhiumfna2zuouOk0eItTQKtjrY44PAEjnyHEEZLLCWeIqTYxZGKZrCLjiZo5K+BUSqcsmXJKapiQiQv7nzquHQsw6ios52pW2NXAXCV65eyNR0sSjPmqNUl4Mnm9HhFUxaXGVawklnNsKZqtp1JhMYfkdJQHo7EgE+BtS+rIZNSGh78VIK+AvPt86q7Cvw7cV+PrMG8p8Prw5XOBn3EMuKV76mB7YD/QWSIClzc/+dlUAGzZkM84PnlaXjk0huPoouTYPnzxWC/+XXe8AKzrj2s4ltrjIN5Gjwv2qZvRAv/iRwzBOSupIxMh24SAUI0YdoqpeYXV+OCcK6LXx92MZP5cr2VltcJEXrV9iiNpKSpwmZiRNEziUzwKl6OOlFdibRrn00qO2VY9x1Vh4TyRG1Z7Yhrj0ZD9ex1hS5UNbMmyFFNnCYsHDXa83ZE22XXAMkBQkNmHK158H0AX2HzHjhHH6nwpSnHNho4HOzl77zgG0nl/26Oge4D7fm1dhkFrJ88ctQhZDU/DGAoBdIF0CB0bf/rlQ99i504sHm1gBRHDhi1zBcBfLh5//R8tcJq6LY623dsOQxqWhWPZZKkrgQsKItKGbEjeCirZ3MhrlusRpX/rXqfo28YJUpCtX+VKOa5IwqOk/Mbf/lxxJpr206SuxasKfd4aEZOvQPLAreeDTTKR45GoMESUeO2shwtd4cjoMX+NFKFh7nf0w/G/GDicPIARG/AwNvUDsBO43873yPOb71n42JfIpCY1HDav5ntweoeC23YBRwEJ6MpxHFj7zMzx+hhYAwAMmDvR7XCIQAASnjW/wH3fY/UQxGYNW8iwnI9eADhu5Exz9yT4zceRwbZ7f1j9MIeTt+LCH7YNxZtx4cDIqoxpeZ5WsnX0VCAVanjq+ho7y2lWsRXuEDvowL2qc7c0RCy3xIxXeZtU2DTpusQ9GSEQ4TIFhmk5uvc6n2vE5Iow4zrnhMQCbqR9mR4Fv1Tv17aV2w42MVn7wy3tg703T5oNfE36AG++BbTN7bhd7AFOo8HdPPPe6PjMCTOP4VBb+j124V/tXdz6W1c8/sWk2R/PeRmAjHUS63cjTgJ7O+1ofxjupwDEQ98Owaj4gsmxGTAo+Gw7T6PNz9itgaOtf7rtkRloG/xHrnKKiObR4HcJ1flNbpyaOU0SrDBzxdfgBA/dWBYvPdLi1lwiTcsL4n5HpVUeJeK4mSZurqlMvUK9wZEjqsTyxfub3nn5bFnDU37TjVZLLY9lz0eygmmIWSFOU946dp5Gzzazy1M31jl308HLN3X9Nsj8t+1qiRxmL+Jf9f3668SAt/DAtqz+UPVuoN0RzMd/3pt7bPGUZya/e/FtKt39052/tD/cgR/udCvvuAd+6Jj68juvYpmB/kt98AL/O773Ag633bcP1zAVMycHZmDm6FF0PN7Ivvnm25iL5keAY21wN84B9Tf3cE05J1UylzuObFmimhk8q4fSRiE38w4VvAg1bpjKbS7GslJxrtixPDktlK7lTjhX4NGTAepRVBg0JfmoV4Rusi4Iu9EFGdBIBVOLVc4CaZ4WVRYvysaDeW+1r1Y3uPgjczlxrrR+fYXtePKudBcT/fJCfNEXWLf1m213/pPy725d9FMImFS9bu55Z8B0oPLtge+iB34Bb3uoHVzsuQVgr76JqXh19qQRAEauxx27u/l7dL4FSHc6gIc3wmIAfHhjmrQAg9ZOG4q3MLxXvVbtjgF4f9tXp3rsUB6XhJrOy5YvLwQ1vESr8FhcpPzUcaUQsk14OnLeyds0bSULTduVJZOn45G8izrlSZ35M3nTMEsyHtWwgixn3h/z9+h8kl04HhFlxB+3WCRrlKRoTqI0m06GJP3PUNd6Rv464Gp4z3UNTiQVyt4xPsN92XYbgC8I8PkTz05745eb3NxzH3UbtqJ7bPbo/lfWYCjwJr/n3Z6ZHUAHcRhH2tLf7vwFd3MLr7OpMwkwl8qavFXvtrMDcDrd5U/0Ub68/zu+YU1q0Zj54xGcPHPtIDs14D1UGuKwzHk7bP/qHnnbY4S0MhRUZTPMzGhEznurvU1qq5mbu64s1zp9KVYYxZUYVaJxws9pxLKF4VBSypJMTRTkstxClNEAUSSL+mS5npoOOTGpW/oGH/Yq1abgqsdulAvX8oiZDMBOaRVupSEkjfNfj1je43JxjhKGtzCmtmoXpk+BwNd9sR648XdgJ3bvfjB+GuVf4v7vVr4xzf3rR2wH0HN7J3TeL7vdfrnve7J2Aih/azIWjJu4cBSu+dn99XaYXX7fOWQT7nbxCwYvHIPxmPMyMNm0lgKD1n51Um6FI8AX8H0D/UO0SUeAqpwpeSAcNeWwv1mmiJrlNJRI8+J8eZrnlXhhzv3Lq/nKy6NyxuQ2l12D2YW1DnEoJ3mzJBGgV30JtaDYNVXbTJeGRd2M7HoKSmwpKUy3XloqyQesggDNBCUqxxAkxZKTLiCGzdiri8YsAtocA9gjoFjX/4UPVLQM8d24bQuA4jv+62LAtNmTMHz5mL+2YHsXjv040FG99/vOFugUaxZmTxo3FxT4RO3rCAl72+EmfPg8crsf2DZqydjlrhAcs4TF1LELp1dgP8Xpm9vh5tPPrgfYk9Llpql0iVLhwmWmLkSg4d9cTfJQPh9IKdF//PVjsutTr95oFZmGl6rJsI204pGFKhee86jUb8lMc3J+QYuVkModIWUKE9lyj4iGL9TNnQ+naIErBOd+oTI1AapEiymKLv11fkdbEkhxv+myMTkAgw/3mrKeAg+/L60+DQ5d+wkddwGd7WUABR9FgeWoLkXbo+y3DoeAg3hg2IrOQ6S8gjkEmIhrhLPxvu/u3sFxhDF1+fDd2AbfEkFGYeG4+Xzi2wSe16dMQmfg9P7OOI31z3w8ZtFTqpIzQiQh5blKJQIi1amt5rKmEWSbVRjK5UA4Txn30tqcVmuU1po2S/lL9SSljr/hJSHlFcikiEtUSKpwFC0nBXg4xOqoGf1CJK35vIJkhYdGeJ4ReOygz46bTnH0ktoKJVf1QIqobBGWjFrXH3ib0E0EcSf+O062oHm0EgD234WnP9l+vysSU6dO+KdkPo5CwOlwCLhNWdGnzDQXYMbL8zB34sKxq4e4/QAXrrSPtzrl3odmZ7vu0UcBWDRmwTjMnjRj2psMnk1Nb8LNQM8QIx+NXfgclU82u9EJVVKVEaoSQp3478KbUfNIK7Zj2hGoPFdVIBLBQFYusVld14rGy3TXlQuE6ZimxwOQWDAVoorfMFywRFAymUnd+w4ebXHVq+ccHkBtqEyOCpHzMtvTumEmdqmi4vcQqQyoVxVVZs3Oup/bb3+3+7UNAui9PiX9hBan7qpt72qDTzv71e6fPLzxu4ckvnx12ang+ysO3v4rjuGutL3raSi2w/D2a5gAirEYgueArx/Enb+KDuBNL+2ZeHZPOxnLBBcYB0yaPQl8CqYCZ5qfON/X8ymGjDae/ghoVsetZxcpnBIBWDQlBTMZeGsJ1YJljqxe0j2+cEridQvKTgW77qVcTdgeJW1rHluxHaYSK6NwygzJMYKWl9uePBOuqcZLGhSkvTFZ8gkunIxVVFOgMq4GJF5VmCzKW56QlpMNWnA1zOxbx+JzdTfQb3NvbMkYEx/69lTnn1udwJ1r0KNpeQMkMNyIvb9oCHD7iwBBJ+uYtb99N8/Ipe2o9NZr74CR8QvGLRuxRqbP98U2mQscI2h4+c6q85KGEQAWueMxy51uTQd+DWg3wbj4xOfAauCpgXSN/XcpK1KNtCEIiGobtmNImuHIISmdipZbDZyEJ6jGFG/l6SK2i1KhMS4s1bE9niSjkhCaxojjdT1EFjpsxhUurjYizpX6d36qerSsbDoFRW7UibqWXNcn1QtoWd24eEGTLC+3RcqfYReK3phGXXS9vxHBFvrUEnyLtgSi3ZFfRizDOahwH7KEeG4M0CoHYAeohJ0Qu3cDR1q+Mx2vArPA4WLwuy9+8vQ34p5fukKIU6z+r1sbHjwIYMkoMX6Owye/6WJ7FDL93bl06fNnVF2Z/7TCbGiO4qWukpNBFIuqatYhlBhCWC1lH0rjlQ3TiiVE3rA9tTk7KguXSrJeheuJEYwSiVKS9YJwuNzyO15HEdlAxhIiyOJ3bo2FYl6H+iwh+xyuplylIAqZetVLlyjN6ySXU5ntZciYIJM67LmPPogHt3761FtvtpP3tTx5U9ue5Uh1c/Zh591a8V+b5ktjTpzAMx/fYxkMwBGMnw+wKVPeeRV4BROApWwg+Cei1/cA2uKkOC8fKeq5fRlGjMLYeRx86lSgJ3CKIH9xKT4eshQgyirAypjpQN5mnNquo5kSSaeVLLxJES3Pmh4lrBSkteK/iuRobRPtn3qZvAUWjHLZ77nqEEaCWREQyMMLxlSDUwEPMnYi10B4Ai23+zUvbCkSzwE8XaWk5GxUJ8hfJB7CqBnJKiwEBnf2J48uGtP+jU+2PAg8hVhHOYOTkG+88iGO3JEF8BPw5NDxszDrFXyMzB5c0ynYdD6A916f/irmTpwlTVwwGsA6l4hNQgCHJXETLi8d6QXhi4UYOwHA1Nf4O2ebHW+BU51eH2h9xDB4zQYAT15I00KEGlzKQ3Y5aCKW0zJBieRuvJIIXAlleW24bjJWhxlSTccaPWtniqWM6iaCRKaWPyiSDDBlHZRxK+VxiXAlUVQbCIuMVNjBV2kTTu0Kw7Soo0V4/ZZlkXim/snKnCOxLP3LXyubaQaOp78uv+fHKXgQX9sfx0f22AGg8361EG3k/7bC//sM77wCc+FY9El13wmA/dQKwJ03SuRtZeIc7mDc/PFY3f8D/ujX7K5fbxdtjp++uf7/oC4avmz0gnGYJxzXfvutH5qBA/m1g4a/25+MWQS8ZL9nC24QImX8DK6QbDuQ9rrUkp3gn4XIFJicWk6MOEaEXomY9a4kFDUWrC5NsBItl887JX7CFUfljuERVGiccoOwnJwVjqxrZS2SiWA8ZMgqZOG4tt/0/65wF3leGPcnic8KiQJb2Kwhx0d9gfbTAfQFMHkmgLZO5/139draBSfQke0FXmiQRa/NATwQqsMKvul4cM+z8998Cx6V0cmYNwHAHAKItfwF9N0Csds90vrkmeb/gYYlZCEAMRFvCzD595sEUFsB0p+IRcDQlcDXDRXYPn/wgkOEJJhiUQpv1qZokNT8Nimwk5mgq0cKsrh8IOChoTqsXDru9SFbbCtplVEl7ecpr+Elao0uOLUsJRdo4Mp5r5k4ldMQIAoue3TTnxEOkxtcEvlyWqGRJBF23CfXEJ5n0nk8h7WDDk++6VlsJg+uvIj2h1seRXf83KPLPtwSFwK3RT4YKY8seBPNy7YBuG1Xp7rrX3sL922dPGUWMAF4h7w8F0vcl977kDF7ew/sE2h5+kxzMEL52EULx04EhITXgAPtzuV/n4JleHH5Y4pvJZ7/8IWdPnrFa7sacWQGyHolSVM3G1arg2nbpPm4T3BDv+yX0XFnnSNyLGjYaqA6pEfLnLhPI7TWww1CwzmvFXKZEBqzg7VyochnSxpelmKE8oy/+KpB8h7JpWcvtrzSrO7vkTzX8jVcoUmmZIqYjGvIU5/O/Ohb0nszyBwcBgXyLU86+7rsY3/g7jt/uR3eWbjmDDoc6mIZOPDkKExNHus/E69gwTiATsLEBcCqAcAnkvvzXaI9jgucP/bYgtHAmCWL+LjZjoTZ6pgYmmLt2IXA+/gSeN7+8EVbZjmdENXOCccFbOK4EqfCzhum7IOrRF2/i4TuFZmLqlQv6eRsS2rsIyrqJ/+pK4WoArfQsCzNligcKwBXcgN5oeiawH+OHXJpnkqiLneEIwnFzMWSh9Pkz3CeCBFKctnmAZudveEvfPoUund5Dhs39cZLeLDywPEeyYMAuspddrXTpZ+eiuEMemX/t2Zwm0PYh1a477MJb6MfWzdDnoRxC90Jk2YROg7LXlotDeSPAuBA61M3/349xg1bMWX6KCzGpDlkCUbNzP5BK/cLPMOcj/ttwIcAT/lrE6aZlTTFBqe2nZP8ObMonETEk8mppqdGl3xaTDvTqDzbrN2XVkDPS2k5GVVoZYoxNevPhkjWCKeJnJLCMnFML0nXmBE7ea6tQa9vlKqKkKTE68Y1magguWwHWrlf2DZzfLkoobLLU6yJe+cvFKBz8M3D2Nwbr50+cLO2A2313b8B6HAIuOVTdPsTW+8fNBjHcM0J6KPIFOfA6dWsGQAACqFJREFUL2+8jrmUkgkLxr0ye+L88cAQ4JnPnwC67ZPbA2iPx1fgEjAlNYu+vHQkID96vglez+HjFxOPbBjwHoAPuydFFaOqSi2bCy67qiJp2YSQHEdieTfpFEpWxQ1uVbxO8VV3fzYayjMPMnqUIHTuuhLhZHWHcD2tWvADBtFqIedytKY4KmDpf58nLRPVYTec8lIj7HJHzkq7axO5xNUGCSVgxf0CdoKdv+6XOU9gwrzRLfjGh3t/UTUC3XYD0Pmtv91hpw3gtl1DVu++DXdF1vbc3uIU0PwMvnlZ8HeAae+8CjJ2/gKB2WLW+IUjltFhwBO4hreHwE0Xr8s88k0tHj33OUa+ifeyoyYepECsGshsHTDw3WeYsqbn9qZCcwwWVoXEJQgIW7iS4HaAJ4nX1oyKqO33UilqlpVclI1U1pKyiierCV7utTmzQTiY8GWFmw1aCvHFzRhJc6ewIi8SUrsvU0e1lMGrA5IcgT8bcJtTb2Wsuq6W8euE6UTNJsCa2u0Evu57Bx8EYKs54qXMn62PNz8j7b4V/wVatT+cQTnQ/PoP77t5O061ciB13zkKLNmuTpu3MWviPIzHfFBXYOwiPgJrmdIP+KUrwE9RF94v4eubzwNLezdYBnzW8SywsvtD1IacxscD+ZOfAbgqVJ/H5g4Rji5Vp/yVhBpMUi1VtvxJRjO+csdX3wjWXK2f9uQcSAGtIVjyZJ1SBkV2mMOpoK4gXOJq0ssUq6FbzyNSvD51G/0lM59t5JOa71KDcL1c0fn2FeXZmFBtJqc1iXFXt1l4//WToM39GWsGfyt6bcQqXHOm4078BuCWvcDR9v8AjV590fkeLU6dADr4B8pzcM0ts/DKHAFgPCYCc14es2jZCMGdT7WH78TeW1qfFI1Ripf4mie39diBP3I42NEHY83gW7VvgeFZ+1GPbGbRkVLdUJWADIkSGdRMZN2Iq9hUzrnMkkqYRKuccLjRhYBeHlfdYsPhfjOY4HZ71cOQpoRbDrEtgwYc1THTUe5oWsC2qZz1iz9FqbdG81RaBqv4J9ejfZlca6hXy/WoqIpkbdMjm1lPkl3XiE1v+QAeWYqvyUPbewJ9/1CPdDzY4RBw62+01Qm0C6XxhDvjkqfDIdH8DFqGfD6G+8pbfEJfwTxO5lEqMBYQmOuOWTYYwJf44d5bDjJOgIWPrRoBz1M54Nw5dIQfrft1/u0BPPLNcuDR9aOzW6DUF4wSS/LKDmdCMoij5FyPjUzGge3IFYVMhNN+x214yaMEMqLWpsU+H0smy1sQmpbCnHCNCmTDrqB5qvi1ZCTFLtbP6Q0ZJ7mrDf/w+pinIKf7S3ngfK7Jhf8dvFQoYlRJcJfYSpbXKOwzAN8AOlb13bS5J6ZM/7r1EdigHW381m030Hk/0OPzz4etRWtIJ5qcP3kSr8y643ucAH9HAibMHbeYj5uP8QQT50EsH471j319L8AFcKoFMIAMW4F/PbANu5wvfl6De7bhG1zzFRY/je6sOqKmOCM6ow6TcmC0mknclqmAUV8UlFQ4TiiTVivdi/VtKrlZX5Bw7UymqDCscJ8E5DyJKJdC4EQjRiyU1lxdhPO+WEQATSMBSCQvGzr1JPISbeaU/OwpyRdapuspvOK9lPeqaZX1auCd+8jmykHAV32AjQ8Dx9Ge4gBa6r1rgRb70XWPuL9kxb0/HG91Auc7HMKLs9rnny3SGSFiwlxMXDAai8Dni3mCLxAc7/FP+uL7+zoDOAUEzPeGAnjc+Wbb50/cBtzW1f8Drum5/YnCZXCx8w5PoddORn2yA8mUcr58TtaoJQtdrtQJccxkRLvqiFw2KQX4Vd2N5D3F5J8rilykM0JE2udFKKtQiTNhCuEVPEuZYye1eJrFCppInoBJ5LRMc/kCVpD9Tb/4u+sH9bneWon5QwFTY2Bbn3OwoTcAV2BrL4Jn1wOH0eHQ7b/esrnHfd+HgT0IbAFU3CxaABS3nMZ1X+3FG+Q1ABPnAgvHUozBv+aPWooB73PAAfZ1QQvgvb5wh66Ehw0UT/x8asz93z2wDQO8tR9vh3/ZyKWfAxbNOJpSVZYPu8LRQVg45lCZGSb8IslchP1pv+JXI8Ku5jSDvH414RZcF3KSXmJZsuzNQvIEspBS8DBTEDgW5dAcj9GgovLqJZnmo/mQ63oYN80GqepzjavqpBSvnSWmP1e/zBOLVDB89BT6fVvbfyR/bHMvAOuBduLoIfzaWvTZdC924ZogXijK3V57siU/3a7bbry0CniTvDFNIpMxEcCiUViEMfPHLwBGYs2LwEbyo9zlYMdTLc43+Rprho10Vo4hDu56Bt9BBt57IYn/lL6Lf91msJqgpnvpHzanPq64bsJ2JCcd8eeynlCZWqAT2akutWuKvCdpYTX3Ot4bFOalqRKS8fkIzKxiSMQRsjcjsipM6pFydSwv8YZ8HR1/oPOvZziD6gQ5cc4er6xXLMmqV0olWT5qBsDStNJkXfZ9Cjz0JZYu+Ypsk/Kv/2aYR3Cbu6dnhcta/ACgz6ZmiceuBhLUbXsUKA21kRfh9RlkKt6YSWcJRkH4YozGYoJxCxePBseH8sPAz+iIFnB/Xq58vgIYPx/jMGgtXkpvwADjAyAQfGXWUgC72huQ43E74pWFIFRy1LRBPdmISz1Jl5mu7HHiWjbhuRpIUDceonWzIb9cq6sS8WQpoTC8FITLsCU/gezIpsxJWr5KtdI/TYm6bqNtSoHXkkguQtyUpKhpb4ZlYRbyoK8mAkkjObavC2v42EOPAaO+ehA/uDPwL5djOzp93fKeH8eU/T3gdEXLL/WNuKZLweaR6ryXFfqGeIuSyTMnz+bi5fnjsQggBEtGARBr8TS+le4CDkrSjUfDtS98MEKTJ7nzRi8evnzVs+hvJQEU+d8B/pPfh8NdDccXqYkZFpDVmWsGLMkgLjeDhHgIjfCyK63DFS2dy6AFngRJ+4MqShRaIIwAZNtjcUGR0VTYGvE4tpwIchkhjUq2HvJKkoiGa7NUaHLYybuykq70SdRKMiKK/Cnzr9q8P0lYO5dv2ABg3AKBLe6jk2fimj24JvTcRyefWDTuj3xB1fvYCNxzIRzd+tLSCaCCcPImMH3yrEmzpHnjF1CyePSopSuGLRMjMXTt8xuIS36497eOALR1AJbhmgkCkdfeXv9i/lOgz6bCmWNrKhIHcXf0nMTFP66hKlSAuJasKR43TYJWqojTQnGlUYM/8gVVlcwTVOJ/hYv0IJD3C8KJmalrcJr1SqB+SmRT4pB0oWbTdbOMqIQKdikntFYNWQkXTvAK9wof5eHCqrxWaAk96ChIZSIRRJk42K7P4GgXLIAAIV98f1uCsYPAfd/jx94dD1qoPXUKLe78pe1R/Ajg2VVj6WRCMX3q1KkzXgfBK7NegRizePQiOnLF8uFYMew98QGES+79hQM4fhOe+fiZj0csA+bhHbz64vtxB09/sgkz35h2z0/oECra0Fa42Ruih03DFg4hrOJqgjGvbKveVEpLy75a21OdypnsXGNuFotM5EpjGiQUgiiKYwa5bMMSvmRIFq7HxqUmhWap0CFc4qrcQ9D44Cm13GC+LLcydXyg5bVxJx5xc3/Vr1NTWT/4t1uc/j//s8Hpk6nUlwAAAABJRU5ErkJggg==", "text/plain": [ "128×256 Array{Gray{Float64},2} with eltype Gray{Float64}:\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) … Gray{Float64}(0.627451)\n", " Gray{Float64}(0.627451) Gray{Float64}(0.623529) Gray{Float64}(0.388235)\n", " Gray{Float64}(0.611765) Gray{Float64}(0.611765) Gray{Float64}(0.337435)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.192157)\n", " Gray{Float64}(0.611765) Gray{Float64}(0.0) Gray{Float64}(0.277469)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) … Gray{Float64}(0.2)\n", " Gray{Float64}(0.607843) Gray{Float64}(0.0) Gray{Float64}(0.196999)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.215686)\n", " Gray{Float64}(0.619608) Gray{Float64}(0.619608) Gray{Float64}(0.207843)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.188235)\n", " Gray{Float64}(0.635294) Gray{Float64}(0.0) … Gray{Float64}(0.206473)\n", " Gray{Float64}(0.631373) Gray{Float64}(0.0) Gray{Float64}(0.184312)\n", " Gray{Float64}(0.0) Gray{Float64}(0.627451) Gray{Float64}(0.184314)\n", " ⋮ ⋱ ⋮\n", " Gray{Float64}(0.0) Gray{Float64}(0.129412) Gray{Float64}(0.241805)\n", " Gray{Float64}(0.14902) Gray{Float64}(0.129412) Gray{Float64}(0.265213)\n", " Gray{Float64}(0.215686) Gray{Float64}(0.0) Gray{Float64}(0.207843)\n", " Gray{Float64}(0.345098) Gray{Float64}(0.341176) Gray{Float64}(0.231373)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) … Gray{Float64}(0.258824)\n", " Gray{Float64}(0.298039) Gray{Float64}(0.415686) Gray{Float64}(0.258824)\n", " Gray{Float64}(0.0) Gray{Float64}(0.368627) Gray{Float64}(0.235294)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.207843)\n", " Gray{Float64}(0.219608) Gray{Float64}(0.0) Gray{Float64}(0.2)\n", " Gray{Float64}(0.0) Gray{Float64}(0.219608) … Gray{Float64}(0.203575)\n", " Gray{Float64}(0.196078) Gray{Float64}(0.207843) Gray{Float64}(0.345098)\n", " Gray{Float64}(0.192157) Gray{Float64}(0.0) Gray{Float64}(0.30479)" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_sdp_sol = Convex.evaluate(X);\n", "lenna_original = load(\"img//Lenna_(test_image).png\")\n", "# [lenna colorview(Gray, X_sdp_sol) lenna_original]\n", "[lenna colorview(Gray, X_sdp_sol)]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "128×128 Array{Gray{N0f8},2} with eltype Gray{N0f8}:\n", " Gray{N0f8}(0.608) Gray{N0f8}(0.6) … Gray{N0f8}(0.592)\n", " Gray{N0f8}(0.6) Gray{N0f8}(0.596) Gray{N0f8}(0.349)\n", " Gray{N0f8}(0.588) Gray{N0f8}(0.576) Gray{N0f8}(0.153)\n", " Gray{N0f8}(0.592) Gray{N0f8}(0.588) Gray{N0f8}(0.169)\n", " Gray{N0f8}(0.584) Gray{N0f8}(0.584) Gray{N0f8}(0.149)\n", " Gray{N0f8}(0.588) Gray{N0f8}(0.58) … Gray{N0f8}(0.169)\n", " Gray{N0f8}(0.58) Gray{N0f8}(0.58) Gray{N0f8}(0.18)\n", " Gray{N0f8}(0.592) Gray{N0f8}(0.592) Gray{N0f8}(0.188)\n", " Gray{N0f8}(0.592) Gray{N0f8}(0.588) Gray{N0f8}(0.184)\n", " Gray{N0f8}(0.6) Gray{N0f8}(0.6) Gray{N0f8}(0.157)\n", " Gray{N0f8}(0.608) Gray{N0f8}(0.608) … Gray{N0f8}(0.145)\n", " Gray{N0f8}(0.604) Gray{N0f8}(0.604) Gray{N0f8}(0.153)\n", " Gray{N0f8}(0.608) Gray{N0f8}(0.6) Gray{N0f8}(0.157)\n", " ⋮ ⋱ \n", " Gray{N0f8}(0.11) Gray{N0f8}(0.106) Gray{N0f8}(0.176)\n", " Gray{N0f8}(0.125) Gray{N0f8}(0.102) Gray{N0f8}(0.18)\n", " Gray{N0f8}(0.18) Gray{N0f8}(0.22) Gray{N0f8}(0.173)\n", " Gray{N0f8}(0.325) Gray{N0f8}(0.31) Gray{N0f8}(0.2)\n", " Gray{N0f8}(0.314) Gray{N0f8}(0.333) … Gray{N0f8}(0.239)\n", " Gray{N0f8}(0.263) Gray{N0f8}(0.388) Gray{N0f8}(0.224)\n", " Gray{N0f8}(0.196) Gray{N0f8}(0.345) Gray{N0f8}(0.204)\n", " Gray{N0f8}(0.169) Gray{N0f8}(0.247) Gray{N0f8}(0.176)\n", " Gray{N0f8}(0.196) Gray{N0f8}(0.208) Gray{N0f8}(0.173)\n", " Gray{N0f8}(0.18) Gray{N0f8}(0.176) … Gray{N0f8}(0.212)\n", " Gray{N0f8}(0.173) Gray{N0f8}(0.18) Gray{N0f8}(0.31)\n", " Gray{N0f8}(0.157) Gray{N0f8}(0.169) Gray{N0f8}(0.365)" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lenna_original" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solving the same problem using JuMP\n", "\n", "To model the same problem in `JuMP`, we need to convert it into a traditional SDP. To that goal, write \n", "\n", "\n", "\\begin{align*}\n", " & \\left(\\begin{array}{ll}\n", "\\underset{X}{\\mbox{minimize}} & \\|X\\|_{\\star}\\\\\n", "\\mbox{subject to} & X_{i,j}=Y_{i,j},\\quad(i,j)\\in\\textrm{observed pixels of }Y.\n", "\\end{array}\\right)\\\\\n", "= & \\left(\\begin{array}{ll}\n", "\\underset{X,t}{\\mbox{minimize}} & t\\\\\n", "\\mbox{subject to} & X_{i,j}=Y_{i,j},\\quad(i,j)\\in\\textrm{observed pixels of }Y,\\\\\n", " & \\|X\\|_{\\star}\\leq t.\n", "\\end{array}\\right)\n", "\\end{align*}\n", "\n", "\n", "Use the result [Lemma 1 Fazel et. al. (2001)] ([paper here](https://web.stanford.edu/~boyd/papers/pdf/rank_min_heur_sys_approx.pdf)) we have: \n", "$$\n", "\\left(\\|X\\|_{\\star}\\leq t\\right)\\Leftrightarrow\\begin{bmatrix}U & X\\\\\n", "X^{\\top} & V\n", "\\end{bmatrix}\\succeq0,\\mathbf{tr}(U)+\\mathbf{tr}(V)\\leq2t,\n", "$$\n", "where the proof is nontrivial (to me). \n", "\n", "$$\n", "\\left(\\begin{array}{ll}\n", "\\underset{X,t,U,V}{\\mbox{minimize}} & t\\\\\n", "\\mbox{subject to} & X_{i,j}=Y_{i,j},\\quad(i,j)\\in\\textrm{observed pixels of }Y,\\\\\n", " & \\begin{bmatrix}U & X\\\\\n", "X^{\\top} & V\n", "\\end{bmatrix}\\succeq0,\\\\\n", " & \\mathbf{tr}(U)+\\mathbf{tr}(V)\\leq2t.\n", "\\end{array}\\right)\n", "$$" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "using JuMP, Mosek, MosekTools, LinearAlgebra" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "A JuMP Model\n", "Feasibility problem with:\n", "Variables: 0\n", "Model mode: AUTOMATIC\n", "CachingOptimizer state: EMPTY_OPTIMIZER\n", "Solver name: Mosek" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model_SDP_JuMP = Model(Mosek.Optimizer)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "128×128 Matrix{VariableRef}:\n", " X2[1,1] X2[1,2] X2[1,3] X2[1,4] … X2[1,127] X2[1,128]\n", " X2[2,1] X2[2,2] X2[2,3] X2[2,4] X2[2,127] X2[2,128]\n", " X2[3,1] X2[3,2] X2[3,3] X2[3,4] X2[3,127] X2[3,128]\n", " X2[4,1] X2[4,2] X2[4,3] X2[4,4] X2[4,127] X2[4,128]\n", " X2[5,1] X2[5,2] X2[5,3] X2[5,4] X2[5,127] X2[5,128]\n", " X2[6,1] X2[6,2] X2[6,3] X2[6,4] … X2[6,127] X2[6,128]\n", " X2[7,1] X2[7,2] X2[7,3] X2[7,4] X2[7,127] X2[7,128]\n", " X2[8,1] X2[8,2] X2[8,3] X2[8,4] X2[8,127] X2[8,128]\n", " X2[9,1] X2[9,2] X2[9,3] X2[9,4] X2[9,127] X2[9,128]\n", " X2[10,1] X2[10,2] X2[10,3] X2[10,4] X2[10,127] X2[10,128]\n", " X2[11,1] X2[11,2] X2[11,3] X2[11,4] … X2[11,127] X2[11,128]\n", " X2[12,1] X2[12,2] X2[12,3] X2[12,4] X2[12,127] X2[12,128]\n", " X2[13,1] X2[13,2] X2[13,3] X2[13,4] X2[13,127] X2[13,128]\n", " ⋮ ⋱ \n", " X2[117,1] X2[117,2] X2[117,3] X2[117,4] X2[117,127] X2[117,128]\n", " X2[118,1] X2[118,2] X2[118,3] X2[118,4] X2[118,127] X2[118,128]\n", " X2[119,1] X2[119,2] X2[119,3] X2[119,4] X2[119,127] X2[119,128]\n", " X2[120,1] X2[120,2] X2[120,3] X2[120,4] X2[120,127] X2[120,128]\n", " X2[121,1] X2[121,2] X2[121,3] X2[121,4] … X2[121,127] X2[121,128]\n", " X2[122,1] X2[122,2] X2[122,3] X2[122,4] X2[122,127] X2[122,128]\n", " X2[123,1] X2[123,2] X2[123,3] X2[123,4] X2[123,127] X2[123,128]\n", " X2[124,1] X2[124,2] X2[124,3] X2[124,4] X2[124,127] X2[124,128]\n", " X2[125,1] X2[125,2] X2[125,3] X2[125,4] X2[125,127] X2[125,128]\n", " X2[126,1] X2[126,2] X2[126,3] X2[126,4] … X2[126,127] X2[126,128]\n", " X2[127,1] X2[127,2] X2[127,3] X2[127,4] X2[127,127] X2[127,128]\n", " X2[128,1] X2[128,2] X2[128,3] X2[128,4] X2[128,127] X2[128,128]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "@variable(model_SDP_JuMP, X2[1:N, 1:N])" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "@variable(model_SDP_JuMP, U[1:N, 1:N]);" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "@variable(model_SDP_JuMP, V[1:N, 1:N]);" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "@variable(model_SDP_JuMP, t);" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "for index_i_j in observed_entries_Y\n", " i = index_i_j[1]\n", " j = index_i_j[2]\n", " @constraint(model_SDP_JuMP, X2[i,j] == Y[i,j])\n", "end" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "@constraint(model_SDP_JuMP, Symmetric([U X2; X2' V]) in PSDCone());" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "@constraint(model_SDP_JuMP, tr(U)+tr(V) <= 2*t);" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$ t $$" ], "text/plain": [ "t" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "@objective(model_SDP_JuMP, Min, t)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Problem\n", " Name : \n", " Objective sense : min \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 8129 \n", " Cones : 0 \n", " Scalar variables : 16257 \n", " Matrix variables : 1 \n", " Integer variables : 0 \n", "\n", "Optimizer started.\n", "Presolve started.\n", "Linear dependency checker started.\n", "Linear dependency checker terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator started.\n", "Freed constraints in eliminator : 0\n", "Eliminator terminated.\n", "Eliminator - tries : 2 time : 0.00 \n", "Lin. dep. - tries : 1 time : 0.00 \n", "Lin. dep. - number : 0 \n", "Presolve terminated. Time: 0.01 \n", "Problem\n", " Name : \n", " Objective sense : min \n", " Type : CONIC (conic optimization problem)\n", " Constraints : 8129 \n", " Cones : 0 \n", " Scalar variables : 16257 \n", " Matrix variables : 1 \n", " Integer variables : 0 \n", "\n", "Optimizer - threads : 48 \n", "Optimizer - solved problem : the primal \n", "Optimizer - Constraints : 8129\n", "Optimizer - Cones : 1\n", "Optimizer - Scalar variables : 2 conic : 2 \n", "Optimizer - Semi-definite variables: 1 scalarized : 32896 \n", "Factor - setup time : 2.49 dense det. time : 0.00 \n", "Factor - ML order time : 1.40 GP order time : 0.00 \n", "Factor - nonzeros before factor : 3.30e+07 after factor : 3.30e+07 \n", "Factor - dense dim. : 0 flops : 1.79e+11 \n", "ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME \n", "0 6.4e+01 1.0e+00 1.0e+00 0.00e+00 0.000000000e+00 0.000000000e+00 1.0e+00 2.52 \n", "1 2.1e+01 3.3e-01 5.0e-01 -9.99e-01 1.470310185e+02 1.484363063e+02 3.3e-01 4.47 \n", "2 1.7e+01 2.6e-01 3.0e-01 -4.85e-01 1.350828267e+02 1.356788512e+02 2.6e-01 6.02 \n", "3 2.7e+00 4.3e-02 8.6e-03 3.14e-01 1.541097696e+02 1.540464927e+02 4.3e-02 7.69 \n", "4 2.5e-01 3.8e-03 4.6e-04 1.14e+00 1.483267313e+02 1.483322905e+02 3.8e-03 9.59 \n", "5 3.2e-02 5.0e-04 2.2e-05 1.01e+00 1.481427694e+02 1.481435481e+02 5.0e-04 11.43 \n", "6 4.3e-03 6.7e-05 1.2e-06 1.00e+00 1.479864515e+02 1.479866107e+02 6.7e-05 13.24 \n", "7 1.1e-03 1.8e-05 1.6e-07 1.00e+00 1.479754287e+02 1.479754705e+02 1.8e-05 14.96 \n", "8 1.5e-05 2.3e-07 8.9e-11 1.00e+00 1.479711267e+02 1.479711263e+02 2.3e-07 17.23 \n", "9 4.8e-07 7.7e-09 3.5e-13 1.00e+00 1.479710840e+02 1.479710840e+02 7.6e-09 19.47 \n", "10 4.0e-08 2.7e-09 1.2e-14 1.00e+00 1.479710825e+02 1.479710825e+02 6.3e-10 21.45 \n", "11 3.1e-09 2.0e-08 1.8e-16 1.00e+00 1.479710823e+02 1.479710823e+02 4.8e-11 23.68 \n", "Optimizer terminated. Time: 23.68 \n", "\n" ] } ], "source": [ "optimize!(model_SDP_JuMP) " ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "128×128 Matrix{Float64}:\n", " 0.510133 0.541838 0.635294 0.522442 … 0.470371 0.422462 0.627451\n", " 0.627451 0.623529 0.621339 0.611765 0.404712 0.329829 0.388235\n", " 0.611765 0.611765 0.632581 0.598682 0.403922 0.219608 0.337453\n", " 0.585981 0.581618 0.611765 0.58344 0.223529 0.176471 0.192157\n", " 0.611765 0.581893 0.615686 0.615686 0.297408 0.27872 0.277459\n", " 0.557052 0.520124 0.570136 0.619608 … 0.387982 0.245395 0.2\n", " 0.607843 0.582899 0.623529 0.586153 0.176471 0.192157 0.197013\n", " 0.611249 0.637073 0.623529 0.591021 0.229532 0.192887 0.215686\n", " 0.619608 0.619608 0.596553 0.559789 0.2 0.151996 0.207843\n", " 0.617212 0.58893 0.635294 0.635294 0.2 0.192157 0.188235\n", " 0.635294 0.594272 0.62413 0.653188 … 0.192157 0.180392 0.206486\n", " 0.631373 0.592408 0.607137 0.675214 0.169149 0.224812 0.184314\n", " 0.588056 0.627451 0.635294 0.666667 0.172549 0.22933 0.184314\n", " ⋮ ⋱ ⋮ \n", " 0.149178 0.129412 0.293731 0.541176 0.356051 0.286275 0.241796\n", " 0.14902 0.129412 0.196078 0.537255 0.345098 0.324363 0.265208\n", " 0.215686 0.222665 0.262745 0.507814 0.301961 0.337263 0.207843\n", " 0.345098 0.341176 0.356863 0.513725 0.294473 0.259783 0.231373\n", " 0.263513 0.334628 0.38577 0.46014 … 0.320677 0.243137 0.258824\n", " 0.298039 0.415686 0.458824 0.438061 0.354361 0.25763 0.258824\n", " 0.268498 0.368627 0.4 0.430556 0.279037 0.328952 0.235294\n", " 0.249179 0.289784 0.34902 0.431445 0.284626 0.239216 0.207843\n", " 0.219608 0.251989 0.311455 0.363335 0.335256 0.291726 0.2\n", " 0.229011 0.219608 0.235294 0.356863 … 0.268871 0.212628 0.203565\n", " 0.196078 0.207843 0.211765 0.351703 0.348219 0.270588 0.345098\n", " 0.192157 0.202599 0.196078 0.309804 0.266667 0.356863 0.304792" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_Lenna_JuMP = value.(X2)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "128×256 Array{Gray{Float64},2} with eltype Gray{Float64}:\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) … Gray{Float64}(0.627451)\n", " Gray{Float64}(0.627451) Gray{Float64}(0.623529) Gray{Float64}(0.388235)\n", " Gray{Float64}(0.611765) Gray{Float64}(0.611765) Gray{Float64}(0.337453)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.192157)\n", " Gray{Float64}(0.611765) Gray{Float64}(0.0) Gray{Float64}(0.277459)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) … Gray{Float64}(0.2)\n", " Gray{Float64}(0.607843) Gray{Float64}(0.0) Gray{Float64}(0.197013)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.215686)\n", " Gray{Float64}(0.619608) Gray{Float64}(0.619608) Gray{Float64}(0.207843)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.188235)\n", " Gray{Float64}(0.635294) Gray{Float64}(0.0) … Gray{Float64}(0.206486)\n", " Gray{Float64}(0.631373) Gray{Float64}(0.0) Gray{Float64}(0.184314)\n", " Gray{Float64}(0.0) Gray{Float64}(0.627451) Gray{Float64}(0.184314)\n", " ⋮ ⋱ ⋮\n", " Gray{Float64}(0.0) Gray{Float64}(0.129412) Gray{Float64}(0.241796)\n", " Gray{Float64}(0.14902) Gray{Float64}(0.129412) Gray{Float64}(0.265208)\n", " Gray{Float64}(0.215686) Gray{Float64}(0.0) Gray{Float64}(0.207843)\n", " Gray{Float64}(0.345098) Gray{Float64}(0.341176) Gray{Float64}(0.231373)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) … Gray{Float64}(0.258824)\n", " Gray{Float64}(0.298039) Gray{Float64}(0.415686) Gray{Float64}(0.258824)\n", " Gray{Float64}(0.0) Gray{Float64}(0.368627) Gray{Float64}(0.235294)\n", " Gray{Float64}(0.0) Gray{Float64}(0.0) Gray{Float64}(0.207843)\n", " Gray{Float64}(0.219608) Gray{Float64}(0.0) Gray{Float64}(0.2)\n", " Gray{Float64}(0.0) Gray{Float64}(0.219608) … Gray{Float64}(0.203565)\n", " Gray{Float64}(0.196078) Gray{Float64}(0.207843) Gray{Float64}(0.345098)\n", " Gray{Float64}(0.192157) Gray{Float64}(0.0) Gray{Float64}(0.304792)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# [lenna colorview(Gray, X_Lenna_JuMP) lenna_original]\n", "[lenna colorview(Gray, X_Lenna_JuMP)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Time taken by `JuMP` is 25 s whereas time taken by `Convex.jl` is 415 s. The main reason behind the time difference is that, to use `Convex.jl` we could feed it the problem formulation rather than converting into an SDP form, so internally `Convex.jl` converts the model into an SDP programmatically. The converted SDP has the follwoing size:\n", "\n", "```\n", "The SDP size in Convex.jl (constructed internally Convex.jl) \n", "#------------------------------------------\n", " Constraints : 73665 \n", " Scalar variables : 49153\n", "```\n", "\n", "Whereas, we converted the problem ourselves into an SDP to feed it into `JuMP`. The final formulation was much tighter than what `Convex.jl` does automatically. Note that we invested some time here by researching into google scholar and finding the right paper. The SDP in `JuMP` has the following size:\n", " \n", "```\n", "The SDP size in JuMP \n", "#-------------------------\n", " Constraints : 8129 \n", " Scalar variables : 16257 \n", "``` " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sequential convex programming\n", "\n", "* Solving a nonconvex problem using a local convex optimization method\n", "\n", "\n", "\n", "* Convex portions of a problem are handled \"exactly\" and efficiently\n", "\n", "\n", "\n", "* Sequential convex programming is a heuristic, it can fail\n", "\n", "\n", "\n", "* Success often depend on a good starting point\n", "\n", "\n", "\n", "* We consider the nonconvex problem: \n", "\n", "\n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{R}^{d}}{\\mbox{minimize}} & f_{0}(x)\\\\\n", "\\mbox{subject to} & f_{i}(x)\\leq0,\\quad i=1,\\ldots,m,\\\\\n", " & h_{i}(x)=0,\\quad j=1,\\ldots,p.\n", "\\end{array}\n", "$$\n", "\n", "\n", "where $f_{0}$ and $f_{i}$ are possibly nonconvex, $h_{i}$ are\n", "possibly non-affine. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic idea of Sequential convex programming\n", "\n", "* Maintain the current iterate $x^{(k)}$ and convex trust region $\\mathcal{T}^{(k)}$\n", "\n", "* Form convex approximation $f_{i}^{\\textrm{cvx}}$ of $f_{i}$ over\n", "$\\mathcal{T}^{(k)}$\n", "\n", "* Form affine approximation $h_{i}^{\\textrm{afn}}$ of $h_{i}$ over\n", "$\\mathcal{T}^{(k)}$\n", "\n", "* Then update the iterate $x^{(k+1)}$ is the optimal point found by\n", "solving the convex problem \n", "$$\n", "\\begin{array}{ll}\n", "\\underset{x\\in\\mathbf{R}^{d}}{\\mbox{minimize}} & f_{0}^{\\textrm{cvx}}(x)\\\\\n", "\\mbox{subject to} & f_{i}^{\\textrm{cvx}}(x)\\leq0,\\quad i=1,\\ldots,m,\\\\\n", " & h_{i}^{\\textrm{afn}}(x)=0,\\quad j=1,\\ldots,p,\\\\\n", " & x\\in\\mathcal{T}^{(k)},\n", "\\end{array}\n", "$$\n", "which is a convex approximation of the original nonconvex problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How to compute the approximations\n", "\n", "Trust region is computed using $\\mathcal{T}^{(k)}=\\{x\\mid\\|x-x^{(k)}\\|\\leq\\rho\\}$\n", "\n", "* $h_{i}^{\\textrm{afn}}=h_{i}(x^{(k)})+\\nabla h_{i}(x^{(k)})^{\\top}(x-x^{(k)})$\n", "\n", "* $f_{i}^{\\textrm{cvx}}=f_{i}(x^{(k)})+\\nabla f_{i}(x^{(k)})^{\\top}(x-x^{(k)})+\\frac{1}{2}(x-x^{(k)})^{\\top}P(x-x^{(k)})$\n", "where $P=\\left[\\nabla^{2}f(x^{(k)})\\right]_{+}$ which is the PSD\n", "part of Hessian" ] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.10.5", "language": "julia", "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.10.5" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }