Re: Grober basis simplification?



Ronald Bruck <bruck@xxxxxxxxxxxx> writes:

> Here's an example, which has a very elementary answer, one which
> suggests there MUST be a dramatic simplification--perhaps merely a
> different ordering of the Grobner basis--but which I have never been
> able to find. Consider the problem of minimizing the cost of building
> a "cape cod" house. This is a rectangular parallellepipe surmounted by
> an equilater triangle cross an interval; a cross-section looks like
>
> /\ ^
> / \ h |
> / \ _v_
> | |
> | | y
> |____|
> w
>
> Calling the depth "x", the problem is to minimize the surface area,
>
> S = wx + 2xy+ 2 sqrt(h^2 + w^2/4) x + 2wy + h w
>
> subject to the constraint
>
> V = (w y + 1/2 w h)x = const,
>
> with of course the usual non-negativity constraints. (It might be
> easier to solve using the slant height s = sqrt(h^2 + w^2/4) as a
> variable instead of h.)
>
> The minimal cost is very simple, but I don't see any obvious geometric
> interpretation. Can anybody suggest a simple solution?

While this doesn't answer your question, here's the approach I took,
with maple. I didn't see any particular difficulties.

I assumed, as Carl pointed out, that you meant isoceles for the triangle.

restart;
with(difforms):

vars := [x,y,h,w]:
defform(map(`=`,vars,0)[]);

S := w*x + 2*x*y+ 2*sqrt(h^2 + w^2/4)*x + 2*w*y + h*w:
V := (w*y + 1/2*w*h)*x:

# take exterior derivatives of objective and constraint,
# set exterior product to zero, and solve.

alpha := simpform(d(S) &^ d(V)):
exs := map(scalarpart, [op](alpha)):
sols := allvalues(solve(exs,vars));

# pick the one with non-zero components

remove(hastype,sols,{negative,poszero});

/ 1/2\
| 3 |
w |1 + ----| 1/2
\ 3 / 3 w
[[x = w, y = ------------, h = ------, w = w]]
2 6

I didn't bother to check for a solution on the boundary.
For a given volume, solve for w and plug into the above.


Joe
.