{"id":246,"date":"2018-04-02T01:56:00","date_gmt":"2018-04-02T01:56:00","guid":{"rendered":"http:\/\/wordpress.cs.vt.edu\/optml\/?p=246"},"modified":"2018-04-04T00:30:41","modified_gmt":"2018-04-04T00:30:41","slug":"convex-concave-procedure","status":"publish","type":"post","link":"https:\/\/wordpress.cs.vt.edu\/optml\/2018\/04\/02\/convex-concave-procedure\/","title":{"rendered":"Convex-Concave Procedure"},"content":{"rendered":"<p>The section 1 of paper &#8220;Variations and extension of the convex\u2013concave procedure&#8221; provides an overview of convex-concave problem . The convex-concave procedure (CCP) is a heuristic method used to find local optimum solutions to difference of covex (DC) programming problems.<\/p>\n<p><strong>Difference of convex programming<\/strong><\/p>\n<p>Consider DC programming problems as the form below<\/p>\n<p style=\"text-align: center\">minimize <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+f+%7D_%7B+0+%7D%28x%29-%7B+g+%7D_%7B+0+%7D%28x%29+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ f }_{ 0 }(x)-{ g }_{ 0 }(x) \" class=\"latex\" \/><\/p>\n<p style=\"text-align: center\">subject to <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+f+%7D_%7B+1+%7D%28x%29-%7B+g+%7D_%7B+1+%7D%28x%29+%5Cle%C2%A0+0%2C%5Cquad+i%3D1%2C...m%2C%C2%A0&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ f }_{ 1 }(x)-{ g }_{ 1 }(x) &#92;le\u00a0 0,&#92;quad i=1,...m,\u00a0\" class=\"latex\" \/><\/p>\n<p>where <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=x%5Cin+%7B+R+%7D%5E%7B+n+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"x&#92;in { R }^{ n } \" class=\"latex\" \/> is the optimization variable and <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+f+%7D_%7B+i+%7D%3A%7B+R+%7D%5E%7B+n+%7D%5Crightarrow+R+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ f }_{ i }:{ R }^{ n }&#92;rightarrow R \" class=\"latex\" \/> and\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+g+%7D_%7B+i+%7D%3A%7B+R+%7D%5E%7B+n+%7D%5Crightarrow+R+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ g }_{ i }:{ R }^{ n }&#92;rightarrow R \" class=\"latex\" \/> for <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=i%3D0%2C...%2Cm+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"i=0,...,m \" class=\"latex\" \/> are convex. Both fuction <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+f+%7D_%7B+0+%7D%28x%29+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ f }_{ 0 }(x) \" class=\"latex\" \/> and\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+g+%7D_%7B+0+%7D%28x%29+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ g }_{ 0 }(x) \" class=\"latex\" \/> should be affine to make sure DC program is convex.<\/p>\n<p>What if the objective and contraint fuctions are not convex? For example, the Boolean LP probem proposed in this section and the traveling salesman probelm, no polynomial time algorithm is known and are hard to solve. So here convex-concave procedure (CCP) is presented for finding a local optimum to solve convex-optimization problems.<\/p>\n<p>Assuming that all of the\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+f+%7D_%7B+i+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ f }_{ i } \" class=\"latex\" \/> and\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+g+%7D_%7B+i+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ g }_{ i } \" class=\"latex\" \/> are differentiable for the ease of notation. The basic CCP algorithm has the form of gradient desent algorithm with convexify. The procedure is choosing an initial feasible point\u00a0 randomly or through a heuristic if one is known.\u00a0Then iterates convexity until the stopping criterion is satisfied. in each iteration the\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+g+%7D_%7B+i+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ g }_{ i } \" class=\"latex\" \/>\u00a0 is replaced with its first-order Taylor approximation, which makes the final problem convex and effcient to solve.\u00a0 The key procedure is convexification, which is shown below<\/p>\n<ul>\n<li style=\"text-align: left\">Convexify: <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%5Chat+%7B+g+%7D+%28x%3B%7B+x+%7D_%7B+k+%7D%29%5Cequiv+%7B+g+%7D_%7B+i+%7D%28%7B+x+%7D_%7B+k+%7D%29%2B%5Ctriangledown+%7B+%7B+g+%7D_%7B+i+%7D%28%7B+x+%7D_%7B+k+%7D%29+%7D%5E%7B+T+%7D%28x-%7B+x+%7D_%7B+k+%7D%29%5Cquad+for%5Cquad+i%3D0%2C...%2Cm+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"&#92;hat { g } (x;{ x }_{ k })&#92;equiv { g }_{ i }({ x }_{ k })+&#92;triangledown { { g }_{ i }({ x }_{ k }) }^{ T }(x-{ x }_{ k })&#92;quad for&#92;quad i=0,...,m \" class=\"latex\" \/><\/li>\n<li style=\"text-align: left\">Solve: Set <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+x+%7D_%7B+k%2B1+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ x }_{ k+1 } \" class=\"latex\" \/> to the solution of the original problem<\/li>\n<li style=\"text-align: left\">k=k+1<\/li>\n<\/ul>\n<p>In the paper, one reasonal stopping criterion is proposed as <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+%28f+%7D_%7B+0+%7D%28%7B+x+%7D_%7B+k+%7D%29-%7B+g+%7D_%7B+0+%7D%28%7B+x+%7D_%7B+k+%7D%29%29-%7B+%28f+%7D_%7B+0+%7D%28%7B+x+%7D_%7B+k%2B1+%7D%29-%7B+g+%7D_%7B+0+%7D%28%7B+x+%7D_%7B+k%2B1+%7D%29%29%5Cle+%5Cdelta+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ (f }_{ 0 }({ x }_{ k })-{ g }_{ 0 }({ x }_{ k }))-{ (f }_{ 0 }({ x }_{ k+1 })-{ g }_{ 0 }({ x }_{ k+1 }))&#92;le &#92;delta \" class=\"latex\" \/>, where <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%5Cdelta+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"&#92;delta \" class=\"latex\" \/> is threshold. Here as we discussed in the class, the stop criterion can be further improved.<\/p>\n<p>The paper proves that each iteration of the algorithm produces a feasible point. It also shows that the convex-concave procedure is indeed a descent algorithm. However, the proof of convergence is ambiguous as negative infinity does not exist.\u00a0The section 1 provides us an idea to generally convert problem with non-convex contraints to one that can be solved using convex optimzation. The basic idea is to minimize a function, usually use linear approximations to the contraints.<\/p>\n<p>Then the authors go on to show the advantages of CCP which are retaining more information in each of the iterates and are global wihout requiring trust regionswhich limit progress at an iteration to a region where the approximation is valid. The proof of this is shown<\/p>\n<p>convexification at <img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%7B+x+%7D_%7B+k+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"{ x }_{ k } \" class=\"latex\" \/>: replace\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=f%28x%29-g%28x%29+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"f(x)-g(x) \" class=\"latex\" \/> with<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%5Chat+%7B+f+%7D+%28x%29%5Cquad+%3D%5Cquad+f%28x%29-g%28%7B+x+%7D_%7B+k+%7D%29-%5Ctriangledown+%7B+g%28%7B+x+%7D_%7B+k+%7D%29+%7D%5E%7B+T+%7D%28x-%7B+x+%7D_%7B+k+%7D%29+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"&#92;hat { f } (x)&#92;quad =&#92;quad f(x)-g({ x }_{ k })-&#92;triangledown { g({ x }_{ k }) }^{ T }(x-{ x }_{ k }) \" class=\"latex\" \/><\/p>\n<p>Since\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%5Chat+%7B+f+%7D+%28x%29%5Cge+f%28x%29+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"&#92;hat { f } (x)&#92;ge f(x) \" class=\"latex\" \/> for all x, no trust region is needed.<\/p>\n<ul>\n<li>true objective at\u00a0<img decoding=\"async\" src=\"https:\/\/s0.wp.com\/latex.php?latex=%5Ctilde+%7B+x+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002\" alt=\"&#92;tilde { x } \" class=\"latex\" \/> is better than convexified objective<\/li>\n<li>true feasible set contains feasible set for convexified problem<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The section 1 of paper &#8220;Variations and extension of the convex\u2013concave procedure&#8221; provides an overview of convex-concave problem . The convex-concave procedure (CCP) is a heuristic method used to find local optimum solutions to difference of covex (DC) programming problems. Difference of convex programming Consider DC programming problems as the form below minimize subject to &hellip; <a href=\"https:\/\/wordpress.cs.vt.edu\/optml\/2018\/04\/02\/convex-concave-procedure\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Convex-Concave Procedure<\/span><\/a><\/p>\n","protected":false},"author":123,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-246","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9CQAE-3Y","_links":{"self":[{"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/posts\/246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/users\/123"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/comments?post=246"}],"version-history":[{"count":42,"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/posts\/246\/revisions"}],"predecessor-version":[{"id":291,"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/posts\/246\/revisions\/291"}],"wp:attachment":[{"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/media?parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/categories?post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/optml\/wp-json\/wp\/v2\/tags?post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}