[CMSC 455] | [Syllabus] | [Lecture Notes] | [Homework] | [Projects] | [Files] | [Notes, all]
Do not talk to other students about the project.
You may use gmp, BigDecimal, MatLab, Maple, Mathematica or other
existing software, and any software from the course WEB site.
(Slightly different from previous semesters.)
Given the equation:
z = exp(sin(50.0*x)) + sin(60.0*exp(y)) +
sin(80.0*sin(x)) + sin(sin(70.0*y)) -
sin(10.0*(x+y)) + (x*x+y*y)/4.0
Find the global minimum -1 < x < 1 , -1 < y < 1
There are many local minima, do not get stuck in one of them.
A global search with dx and dy <= 0.001 should be in the
global minimum.
From inspection, the minimum z is roughly between -3 and -4
From the global search starting point, use optimization.
Do not allow dx, dy to get too small, roundoff error if less than
1.0E-16 in 64 bit floating point
1.0E-100 in multiple precision
Print your x and y and z.
I would expect, all to the same number of digits accuracy.
Your points are based on the accuracy of your computed
"x", "y", "z".
Your largest error in x, y, or z rounded to significant digits:
2 digits 50 points
3 digits 70 points
4 digits 75 points
5 digits 80 points
6 digits 85 points
7 digits 86 points
8 digits 87 points
9 digits 88 points
10 digits 89 points
11 digits 90 points
12 digits 91 points
13 digits 92 points
14 digits 93 points
15 digits 94 points
16 digits 95 points
100 digits 100 points
The project source and output is to be submitted on GL as submit cs455 proj list-of-files etc. The list-of-files should include source code and output and other files that were used. Do not submit executable file(s). Use a language of your choice on an operating system of your choice, unless otherwise stated. Talk to the instructor if your language choice is not one of: Ada 95, C, C++, Fortran 95, Java, Python, Scala, SML, MATLAB, Maple, Mathematica, or similar available language or product. The goal of the project is to give you a useful numeric code that you can apply as needed to future tasks. This includes converting a working numeric code to your language of choice or being able to interface some working numeric code with your language of choice. Copying of a project results in zero points for everyone involved in copying. Be sure to check your own answers by using several languages or several implementations. You may want to do the global search in a language that is fast, submit that code, and then start the multiple precision at the x,y found in the global search with a small dx,dy. A crude plot of z vs x,y isA smaller dx,dy plot
![]()
Last updated 10/29/2014