Technical Support (FAQ) | |
1) General questions about MPL
1.2 How large are the problems MPL can handle? 1.3 Is it possible to obtain a copy of the MPL Manual in a classical printable form?
2) Installation/Download of MPL
3) CPLEX Licensing Errors
3.2 Error Message: 32041 Licensing Problem: Host has an identifier of zero. Install proper key. 3.3 Error Message: 32103 Licensing Problem: Input option requires valid xx code. 3.4 Error Message: "This is a WindowsNT character-mode executable" 3.5 I am still having trouble setting up the CPLEX license, what should I do now?
4) Modeling in MPL
1) General Quesions about MPL1.1) What is the MPL Modeling System? MPL(Mathematical Programming Language) is an advanced modeling system that allows you to set up complicated models, involving thousands of constraints, in a clear, concise, and efficient way and is extremely user-friendly and powerful. MPL offers a feature rich model development environment that takes full advantage of the graphical user interface in MS Windows, making MPL a valuable tool for developing LP models. MPL has features that allow you import data directly from a database and then after solving the problem export the solution back into the database. This along with the ability to be called directly from other Windows applications, such as databases and spreadsheets, make MPL ideal for creating end-user applications.
1.2) How large are the problems MPL can handle?
MPL is available in two sizes. The student version offers solving capabilities for 300 variables and 300 constraints. The full-size version is much larger offering solving capabilities for millions of variables and constraints.
The MPL for Windows you downloaded also contains the manual in the On-Line Help System. Therefore, to print entire sections of the manual, just highlight the corresponding book icon in the help topics and press the 'Print' button. For example, if you want to print the section for the MPL Modeling Language select that book icon and you will get all of the sections that are under that category.
2) Installation/Download of MPL
2.1) I am trying to download the student version of MPL, but I am having bandwith problems and I can't make the connection last long enough. Do you have an FTP site that allows quicker downloads? Yes, we do have the software available for download through FTP which makes it easier to download large files through a slow connection. The quickest and probably the easiest way to get the software, if downloading from the Web does not work, is to get it from our anonymous FTP server at "ftp.maximalsoftware.com".
3) CPLEX Licensing Errors3.1) When I try to solve a model with CPLEX I receive the following message: 32011 Licensing Problem: Could not open CPLEX environment. Corrupted or nonexistent license file. Check to see if you received the license activation code for CPLEX and it has been installed correctly as detailed in the download instructions.
If this environment variable is not set, CPLEX will look for a hardware key which is not available, hence the message. When the variable is correctly set, CPLEX will know that you are installing a license that does not need a hardware key. To check the environment variable, open a MS-DOS command window and issue the command SET from the DOS prompt. One of the lines listed should contain the following:
CPLEXLICTYPE=DEFAULT Please note that there should be no spaces either before or after the equal sign. If there is a space or misspelling, please go back to the AUTOEXEC.BAT file (in Windows 95) and correct it. If you have Windows NT you need to open the System Icon again in the Control Panel and correct the environment variable there. Afterwards, you need to reboot your machine for the new setting to take effect. Now, you can try to activate the license again as described in Step 2.of the download instructions.
If you can change your DOS window from MS-DOS mode to back standard 32-bit setup you should be able to run the CPLEX license manager. Alternatively, if that does not work, you should be able to run the activation command directly from the Start | Run menu. Enter the following command in the Run dialog box:
C:\mplwin4s\cpxlicm.exe -v
where c:\mplwin4s is the directory where you installed MPL and CPLEX. This method bypasses the DOS window and therefore should get around the 32-bit incompatibility problem.
To help us troubleshoot this problem send us copies of the following files on your machine to support@maximalsoftware.com:
We will examine these files for any problems, and if necessary, contact CPLEX tech support for their opinion on this problem.
4) Modeling in MPL4.1) How can I make a constraint equation be dependent on the value taken by a binary variable. For example, I only want the constraint to hold when the binary variable has a value of 1. What you are trying to formulate is a model that has logical expressions in it. These kind of constraints can be formulated in the following way: Lets say you have a constraint
(x + y <= 5)
that only holds if binary variable is true. You then define the constraint as:
x + y <= 5 + M(1-a); where M is a large enough number for
the condition (x + y <= M) to always hold
true.
There is an excellent book available that covers this subject quite well, Model Building in Mathematical Programming by H.P. Williams published by Wiley. This question is of similar nature as the previous question 4.1, it is just reversed. Basically you need to create a binary variable j that is True if (i > 2) and False otherwise. If i is an integer variable you then define a set of constraints like:
i <= 2.5 + M * j; where M is a large enough number for
the condition (M > i) to always hold true.
This constraint forces j to one if (i > 2).
i >= 2.5 * j; this one forces j to zero if (i <= 2).
There is an excellent book available that covers this subject quite well, Model Building in Mathematical Programming by H.P. Williams published by Wiley.
The problem is that since the database is relational every value that is imported or exported must have an index or a key to it. Therefore, we create a single value index variable where we store the objective function value in. The table we are exporting to will have two columns (obj, value) and a single row with the value for the objective in the second column.
INDEX
obj=(1);
VAR
x[obj]
EXPORT TO DATABASE("object","value");
MODEL
MAX z = x[1];
SUBJECT TO
constr[obj]: x[obj] = original objective function
END
|