# Nonlinear optimization with parametric constraint

Is there any way of reformulating the following problem so that it can be solved by means of e.g. Matlab's fmincon?

$$\min f(x_1,\dots,x_n)$$ subject to $$c(x_1,\dots,x_n,t)\le0$$, $$t\in[t_{\min},t_{\max}]$$

Here $$f:\mathbb{R}^n\rightarrow\mathbb{R}$$ is a convex function. The constraint function $$c:\mathbb{R}^{n+1} \rightarrow \mathbb{R}$$ is nonlinear and varies smoothly with the parameter $$t$$. A solution $$(x^*_1,\dots,x^*_n)$$ must satisfy the constraint $$c\le0$$ for all $$t\in[t_{\min},t_{\max}]$$.

EDIT:

I believe it can be assumed that the constraint function $$c$$ is convex for each $$t$$.

EDIT 2:

I want to design a propeller for an axial pump with a prescribed "sweep" $$s(r)$$, where $$r$$ is the radial coordinate in its cylindrical coordinate system $$(r,\theta,z)$$. The sweep is defined as $$\pi/2-\phi(r)$$, where $$\phi$$ is the angle between the tangent to the leading edge stacking curve $$\gamma$$ and the tangent to the meanline at the leading edge, which i call $$u=u(r)$$ from now on. The sweep $$s$$ must satisfy $$s\ge a_0 + \frac{r}{r_{\max}}a_1$$.

If I constrain the shape of the stacking curve $$\gamma$$ to be polynomial in the $$r-\theta$$ and the $$r-z$$ planes respectively, e.g. $$\theta(r)=p_1(r)$$ and $$z(r)=p_2(r)$$ with coefficients $$x_1,\dots,x_k$$ for $$p_1$$ and $$x_{k+1},\dots,x_n$$ for $$p_2$$, I will have a tangent $$v=v(x_1,\dots,x_n)$$ to $$\gamma$$.

Thus, since $$\cos\phi=\frac{(u\cdot v)}{\|u\|\cdot\|v\|}$$, we have $$\frac{(u\cdot v)}{\|u\|\cdot\|v\|}\le\cos(\pi/2 -a_0 - \frac{r}{r_{\max}}a_1)$$, which, in essence, constitutes $$c(x_1,\dots,x_n,r)$$. Note that $$u=u(r)$$ and $$v=v(x_1,\dots,x_n)$$.

The objective function $$f$$ is the arc length of $$\gamma$$, i.e. $$f=\int \sqrt{\|v\|^2+1}dr$$.

• Such problems can (without restrictions on constrain't function $c$) involve a lot of local minima. I take it you are primarily interested in a global minimum, so any additional information about $c$ would help. – hardmath Jan 22 at 21:51
• This is straightforward to code in Mathematica. Whether or not a solution can be computed depends, however, on the specific nature of $f$ and $c$ (of course). – David G. Stork Jan 22 at 21:57
• could you post the function $c$? – LinAlg Jan 22 at 22:11
• A naive approach would just be to discretize $t$ and solve the problem with each of the convex $c$ constraints at each $t$. – nathan.j.mcdougall Jan 22 at 22:27