1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Maxima 5.47.0 Manual: Examples for cobyla</title>
<meta name="description" content="Maxima 5.47.0 Manual: Examples for cobyla">
<meta name="keywords" content="Maxima 5.47.0 Manual: Examples for cobyla">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="maxima_toc.html#Top" rel="start" title="Top">
<link href="maxima_423.html#Function-and-Variable-Index" rel="index" title="Function and Variable Index">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="maxima_198.html#cobyla_002dpkg" rel="up" title="cobyla-pkg">
<link href="maxima_202.html#combinatorics_002dpkg" rel="next" title="combinatorics-pkg">
<link href="maxima_200.html#Functions-and-Variables-for-cobyla" rel="previous" title="Functions and Variables for cobyla">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
body {color: black; background: white; margin-left: 8%; margin-right: 13%;
font-family: "FreeSans", sans-serif}
h1 {font-size: 150%; font-family: "FreeSans", sans-serif}
h2 {font-size: 125%; font-family: "FreeSans", sans-serif}
h3 {font-size: 100%; font-family: "FreeSans", sans-serif}
a[href] {color: rgb(0,0,255); text-decoration: none;}
a[href]:hover {background: rgb(220,220,220);}
div.textbox {border: solid; border-width: thin; padding-top: 1em;
padding-bottom: 1em; padding-left: 2em; padding-right: 2em}
div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em;
padding-left: 2em; padding-right: 2em; background: rgb(200,255,255);
font-family: sans-serif}
div.synopsisbox {
border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em;
padding-right: 2em; background: rgb(255,220,255);}
pre.example {border: 1px solid rgb(180,180,180); padding-top: 1em;
padding-bottom: 1em; padding-left: 1em; padding-right: 1em;
background-color: rgb(238,238,255)}
div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em}
div.image {margin: 0; padding: 1em; text-align: center}
div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em;
padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)}
img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto}
-->
</style>
<link rel="icon" href="figures/favicon.ico">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6>"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Examples-for-cobyla"></a>
<div class="header">
<p>
Previous: <a href="maxima_200.html#Functions-and-Variables-for-cobyla" accesskey="p" rel="previous">Functions and Variables for cobyla</a>, Up: <a href="maxima_198.html#cobyla_002dpkg" accesskey="u" rel="up">cobyla-pkg</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Examples-for-cobyla-1"></a>
<h3 class="section">47.3 Examples for cobyla</h3>
<p>Minimize
\(x_1 x_2\) with
\(1-x_1^2-x_2^2 \ge 0.\)</p>
<p>The theoretical solution is
$$
\eqalign{
x_1 &= {1\over \sqrt{2}} \cr
x_2 &= -{1\over \sqrt{2}}
}
$$</p>
<div class="example">
<pre class="example">(%i1) load("fmin_cobyla")$
</pre><pre class="example">(%i2) fmin_cobyla(x1*x2, [x1, x2], [1,1],
constraints = [x1^2+x2^2<=1], iprint=1);
</pre><pre class="example"> Normal return from subroutine COBYLA
NFVALS = 66 F =-5.000000E-01 MAXCV = 1.999845E-12
X = 7.071058E-01 -7.071077E-01
(%o2) [[x1 = 0.70710584934848, x2 = - 0.7071077130248],
- 0.49999999999926, [[-1.999955756559757e-12],[]], 66]
</pre></div>
<p>Here is the same example but the constraint
is
\(x_1^2+x_2^2 \le -1\) which
is impossible over the reals.
</p>
<div class="example">
<pre class="example">(%i1) fmin_cobyla(x1*x2, [x1, x2], [1,1],
constraints = [x1^2+x2^2 <= -1], iprint=1);
</pre><pre class="example"> Normal return from subroutine COBYLA
NFVALS = 65 F = 3.016417E-13 MAXCV = 1.000000E+00
X =-3.375179E-07 -8.937057E-07
(%o1) [[x1 = - 3.375178983064622e-7, x2 = - 8.937056510780022e-7],
3.016416530564557e-13, 65, - 1]
(%i2) subst(%o1[2], [x1^2+x2^2 <= -1]);
(%o2) [- 6.847914590915444e-13 <= - 1]
</pre></div>
<p>We see the return code (<code>%o1[4]</code>) is -1 indicating that the
constraints may not be satisfied. Substituting the solution into the
constraint equation as shown in <code>%o2</code> shows that the constraint
is, of course, violated.
</p>
<p>There are additional examples in the share/cobyla/ex directory and in
share/cobyla/rtest_cobyla.mac.
</p>
<hr>
<div class="header">
<p>
Previous: <a href="maxima_200.html#Functions-and-Variables-for-cobyla" accesskey="p" rel="previous">Functions and Variables for cobyla</a>, Up: <a href="maxima_198.html#cobyla_002dpkg" accesskey="u" rel="up">cobyla-pkg</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|