Math Is Fun Forum

  Discussion about math, puzzles, games and fun.   Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ • π ƒ -¹ ² ³ °

You are not logged in.

#1 2010-12-10 05:27:36

Gabe
Guest

Surface Optimization (non-linear programming?)

I want to optimize a surface created by adding together shifted copies of another surface, so that it results in a larger surface I specify. I think this problem falls into the category of non-linear programming, but I'm unsure where to start. Any one know any good links, books, etc...

More info: I have a surface shaped like a cone, c(x,y) where x, y in [-1,1]. I want to make a larger cone by adding together smaller cones C(x,y) = c0(x-x0,y-y0) + c1(x-x1,y-y1) + ... + cn(x-xn,y-yn) where x,y in [-5,5]. In general c and C are not simple differentiable functions, since cones have sharp angles and points. I can easily create a discrete surface (height map) in math software for both c and C. Whats the best way to go about solving this type of problem?

Thanks for any advice,
-Gabe

#2 2010-12-10 11:42:11

bobbym
bumpkin
From: Bumpkinland
Registered: 2009-04-12
Posts: 109,606

Re: Surface Optimization (non-linear programming?)

Hi Gabe;

Welcome to the forum!

Some very general advice, forget C or C++. For math problems try to get you hands on Mathematica or Maple. If you are a student or know one that will be easy. Your math problems will just go away... Of course you will get new ones.

If you cannot get them then look around for Maxima or Mupad lite 2.5. Sage is coming around but is only for linux right now.

Take the time and learn a math package, in the long run it will help you greatly.


In mathematics, you don't understand things. You just get used to them.
If it ain't broke, fix it until it is.
Always satisfy the Prime Directive of getting the right answer above all else.

Offline

#3 2010-12-13 04:41:03

Gabe
Guest

Re: Surface Optimization (non-linear programming?)

Hi Bobby,
    Thanks for the advice. I use IGOR Pro mostly, but I have a lot of experience with Mathematica. I can create a conical surface, by adding together smaller cones, very quickly in IGOR. I can manually align the offsets so they add up close to the larger cone I am trying to make. I need an algorithm for shifting the offsets and measuring the difference between the resulting shape and my target shape, which leads to the optimal set of offsets. In the future I would like to generalize to other surfaces. I essentially have a tool which takes out cones of material and want to use it to make larger shapes. I have some experience with optimization where you take partial derivatives with respect to the variables you are optimizing and setup a system of linear equations which can be solved using linear algebra. You start with a guess and it generates a better guess which can be repeated. A generalized least squares regression. The problem is in this case I can't take derivatives because the functions are not easily differentiable.

Thanks,
-Gabe

#4 2010-12-13 06:09:05

bobbym
bumpkin
From: Bumpkinland
Registered: 2009-04-12
Posts: 109,606

Re: Surface Optimization (non-linear programming?)

Hi Gabe;

What about numerical differentiation? That is where it shines when a function is difficult to differentiate. Basically you replace the continuous derivative with its discrete analog, differences.


In mathematics, you don't understand things. You just get used to them.
If it ain't broke, fix it until it is.
Always satisfy the Prime Directive of getting the right answer above all else.

Offline

Board footer

Powered by FluxBB