Handling Problems
Use the following three-step procedure for handling problems that you may encounter when using the licensed program product.
1. Determine if the problem is related to the Optimization Library.
Examples of problems not related to the Optimization Library are compile-time problems, link-edit problems, operating system problems, and hardware problems.
For problems that are not related to the Optimization Library, refer to the diagnostic information provided in your programming language, operating system, or hardware publications.
Examples of problems related to the Optimization Library are: problems related to output messages of the form EKKnnnnx, performance problems, installation problems, and abnormal termination problems. If the problem seems to be related to the Optimization Library, go on to step 2.
2. Make sure your program is free of errors.
- Check for syntax and spelling errors. Some of the subroutines have similar names that may be confused.
- Check all messages issued, and resolve any errors reported. If you are using APL2, make sure to check the output from unit 6, since it might not be readily apparent to do so. See Appendix A. "Optimization Library Messages" for possible responses to the messages.
- For hints and suggestions on how to run library applicationss, check the "Memo to Current Licensees" on all platforms, or check the README and READMEC files. For the location of these files, see the appropriate section in Chapter 2 of this manual.
- Check that useful messages have not been turned off with EKKMSET.
- Check any changes made to your program, including user exit subroutines, that may have introduced errors or affected performance.
- Check the settings of control variables with the EKKxGET subroutines. In particular, some settings of real control variables may result in numeric underflow conditions.
- Try running a simplified version of your program to isolate any errors.
- Refer to "Debugging Your Program" for ways to debug your program, such as using EKKSMAP, EKKNGET, and EKKSTAT.
- Use a trace facility to monitor your program's step-by-step action. For FORTRAN, use the VS FORTRAN Interactive Debug facility (IAD). For C/370, use INSPECT. For PL/I, use either PLITEST or INSPECT. For APL2, use T&Delta. trace or S&Delta stop, or use the trace parameter in conjunction with the supplied subroutine option. The dbx command provides an environment to debug and run programs under the AIX operating system. If a "core" file has been produced by a run-time program failure, you can also use dbx to examine the state the program was in when it faulted. Program variables can be selected by symbolic name and printed in correct format. Check the command reference manual for your AIX platform for more complete information on using dbx.
- Turn on traceback if it is supported on your platform.
- If the problem is performance-related, use a performance analyzer (such as IAD Program Sampling, if available) to take subroutine timing information and other performance information. Also, refer to your programming language publications for other possible ways to define and set up your input data to optimize performance.
- To get more information from the Library, you can cause a log message to be printed every few iterations of the solve routine with integer control variable Ilogfreq. Refer to "EKKIGET - Request Current Values of Integer Control Variables" for more information.
3. Obtain help from your organization.
If your organization has a systems support group, they should be your first recourse. Provide them with any information relevant to your problems, such as the Library subroutines used, the characteristics of your model, system logs, messages received, system dumps, linkage editor maps, traceback maps, compiler listings, test cases, and, of course, a detailed description of the problem. Also, ask them to make certain that the latest refresh of the library is installed.
Also, check if your organization has experts in mathematical programming or optimization. These people may be able to help you with mathematical programming and modeling questions that the systems support group cannot.
[ Top of Page | Previous Page | Next Page | Table of Contents ]