Ask the Community
Get help and interact with other developers and experts
Hello Team, I am working on the multidepot-VRP problem an extension of your practical example capacitated VRP. I want to make a model in which vehicles will depart from their depots to serve different customers and turn back to the same depot where it started from. I made a rough model but facing some sort of errors. Kindly check and help me to resolve my model. I shall be really thankful to you. Looking forward for your kind response. Regards
Hi, In the Options Tree, I have been changing the MIP Relative Optimality Tolerance to 0.5%, 1.0%, 5.0% and 10.0% to analyse the performance of the solution, gap and solving time. I wish to change the gap to 0.5%, 1.0%, 5.0% and 10.0% to analyse whether the solving time can be reduce by changing the gap. However, the CPLEX always stop at either 0.04%, 0.12% or 0.00% of gap. Is there any way to stop the CPLEX at 10% of gap?
Hi AIMMSians, I am using the AMD 3995WX processor which has 128 logical processors. I realized that a single instance of AIMMS only uses 64 logical processors as processors are grouped by windows’ limit (64 cores). To use all 128 processors, I can run two instances of AIMMS at the same time. The first instance gets affinity of group0. Then I need to modify the affinity of the second instance to use the second NUMA (group1). Still, I would like one instance of AIMMS employs all logical processors. I assume the same problem exists on servers where the number of logical cores often exceeds 64. Is there any way to bypass windows' processor group policy (i.e. make AIMMS group aware) and distribute the job between all 128 available threads? Note 1: I tried CPLEX and GUROBI solvers. I am not sure if this limitation is related to AIMMS or the solvers.Note 2: I am aware of disabling Hyperthreading/SMT, but that is not desirable.
Hello - I'm creating a script to export a bunch of vars/params to Excel/CSV. It needs be pretty clean/standardized so it can be read into a UI.I tried:write AllVariables to file export_file;But the output was too messy. - Is there a way to silence Basic/NonBasic? - My output is often Nodes x Time, which AIMMS seems to prefer as (n,t), but then it shows Time as columns instead of rows (which is SUPER ugly in the text file). So I have to duplicate everything as parameters with (t,n) for the export. Or am I wrong? So now I'm looking at using AXLL, but it's pretty tedious.This is what I'm currently doing:axll::CreateSheet("VarName1");axll::WriteTable(Var1, "A2:A5", "B1:AZ1", "", 1, 1);axll::CreateSheet("VarName2");axll::WriteTable(Var2, "A2:A5", "B1:AZ1", "", 1, 1);… ad nauseam There has to be a better way. Is there something like:for i in MySet do axll::CreateSheet(FormatString(“%e”, i)); axll::WriteTable(i, “A2:A5”, “B1:AZ1”, "”, 1, 1);endfor; I want to print one variable per tab in
Hi everyone,I have been trying to call an AIMMS (academic license) procedure from python although this doesn't seem to work. I got the following code from another thread, which seems to work with a paid license. I also saw on another post that the academic licence might have some limitations in this regard. Is there an API in another language, were I can make Python wrapper around this other language?orIs it possible that AIMMS internally allows to run scripts in some language, in which case a script can be built in such a way that they exchange model parameters/inputs/results with the outside world? Best regards,
I want to clear the memory used by AIMMS after running an execution. I delete the GMP but still huge amount of RAM is occupied by AIMMS after the run. So I have to close and open the AIMMS to have a fresh start (i.e. with a clear RAM memory). Is there anyway to clean the RAM used by AIMMS after the execution so I do not need to close and open it again and again? Thanks in advance.
In converting WinUI to WebUI, I have to convert the popups. Seemingly no problem, right?It is a bit annoying, but fairly easy to do. Here’s the conversion...Old (WinUI) way:pr_DoStuffsp_Answer := DialogAsk(“Here’s a question”, “Yes”, “No”);if sp_Answer = “Yes” then do this elseif sp_Answer = “No” then do that endif; New (WebUI) way (with TWO procedures):pr_DoStuffwinui::RequestPerformDialogWebUI(“”, “Here’s a question”, s_ButtonActions_YesNo, ‘pr_DoNextStuff’); pr_DoNextStuff(sp_Answer) code isif sp_Answer = “Yes” then do this elseif sp_Answer = “No” then do that endif; HOWEVER, in the case of the Logoff Procedure, this doesn’t work. Specifically, I want to ask the user if they want to save the changed data, wait for them to respond, then save (or not) and close. Old (WinUI) way:p_SaveIt := DialogAsk(“Do you want to save before closing?”, “Yes”, “No”, “Cancel”);if p_SaveIt = 1 then pr_SaveData; return 1;elseif p_SaveIt = 2 then return 1;else return 0;endif; The new WebUI dialogs do
Hi. I am trying a generate a plot of optimality gap vs solution time. For that, I am trying to retrieve incumbent solution, best bound and solution time after every 5 iterations. But, for some reason, I am having issues with callback and I don’t get anything retrieved. Attached herewith are the images giving implementation of callback operation. Could anyone please tell where I am going wrong? Thanks, Sujit
The WinUI has a super obvious tab for the Legend of a linechart. But there seems to be NO way whatsoever to display the legend (or anything that will work as a legend) on a WebUI linechart. I even tried the (seemingly obvious) solution of using a legend widget. If this will work, I can't figure out how. Is there a way to show the legend? And if you don't have on yet, is there a workaround and do you have it in the plans in the future?
Just wanted to know if it is possible to style the buttons in AIMMS based on information from the model. What I have in mind is allowing the user to open for example 25 different pages (e.g. for different inputs) by providing 25 different buttons.I would like to style these buttons in such a way that if the input that corresponds to the page this button opens contains an error, the button should be red or I would like to include a red Error symbol (think might be possible with unicode and variant selection?) on that button and if there are warnings, I would like to make it yellow or have a yellow warning symbol. Green checkmark could indicate there are no issues with that particular input. It could also be that buttons to open the 25 different inputs are not the best way to this from UX perspective. If that is the case, what would you recommend?
Hello everyone, CPLEX returns optimal solution for small instances of a MIP model. But when try to solve a larger instance, CPLEX return a local optimum (solution checked by a heuristic). The model is MIP with a number of Big-M formulations that are replaced by Indicator Constraints. For one of the large instances: # of constraints: 2086337 #of variables: 1122331 (66225 int) #of none zero: 7223176 It takes 53557 seconds for CPLEX to close the optimality Gap. Any idea? please share your thought.
Dear all, In the accompanied model, I try to decrease the inter-facility transport flows between warehouses by changing the production allocation per factory. However, when I try to solve this model, after +- 20 seconds the solution comes back at '0', and I can see that nothing has changed. Could anyone point out to me why this is happening? Kind regards,
In WebUI in the Map widget I can change the outline of the label, but not the color of the label. Notice what my font looks like with the following css: Here’s the result: I recall having a similar issue with the labels on the Gantt chart, for which the solution was to use the selector .label. I have tried this with the map widget with no success. Can you please tell me what css I need to style this?
Is it possible to export an AIMMS model to .aimmspack file from Azure Devops Pipeline?Goal is to generate the .aimmspack file from the Azure Devops Pipeline after the model source files have changed. I was hoping to run aimms.exe --export-to without have a user signed in, or storing the private license files in a public place.From Documentation:Through the --export-to option you can instruct Aimms to create an encrypted end-user project either packed to the .aimmspack file specified, or unpacked into a specified folder. When using this commandline option, Aimms will use the export settings as saved by the previous call to the File-Export End-User Project menu. You can use this commandline option, for instance, within the context of a continuous integration server, to automate the deployment of your Aimms application after new commits have been pushed to the version control repository managing the project. Specifying the unpack folder When running an .aimmspack file, Aimms will ask for
Hi,I want to build a model that can transport stuff from (i to j) directly or by stopping over at facility r.The transportcost (i to r) and (r to j) are cheaper than the direct transport (i to j). Problems:Open(r ) is either 0 or all possible r are opened and the amount is divided up evenlyEven if transportcosts are way lower for the extrastop r than without, the model does never choose to move all products past extrastop r. (capacities are more than enough) (goal is to minimize total cost (fixed cost and transport cost included)Related Constraints:Amount(i,r)+Amount(d,r)<=Demand(i)*OpenRecycling( r) // index (i,d,r) sum(i,Amount(i,r))+sum(d,Amount(d,r))<=Capacity(r)* Open( r) //index (r ) sum(r,Amount(i,r))+sum(r,Amount(d,r))=(Returnrate(i)*(demand(i))) //index (i,r) sum(i,Amount(i,d))<=Capacity(d)*open(d) //index(d) sum(i,Amount(i,d))=sum(r,Amount(d,r)) //index(d) Thanks for your help.I´m more than happy to post my model if that helps
I was wondering if the following workflow is possible in AIMMS WebUI.User runs a procedure - this could include a web::request_invoke_async() or Execute(), for example User can continue other work Status bar procedure polls for an update and displays statusCurrently, I could setup a manual polling procedure that the user can click and run to check the status. I imagine one can setup a separate app that gets an ID and details of user request and polls for the status and runs an AIMMS procedure using AIMMS PRO API to update the status bar. (Is it even possible to run a procedure in an active AIMMS session/job through the PRO API?) It is a little too convoluted to setup simple use cases.
MINOS Warning: Model status 13: Error no solution, Solver status 9: Error: Setup failure (see message window).
Dear AIMMS Team, I am a PhD student in the UK and I have been trying to solve a non-linear non-convex optimisation problem with different solvers for a Journal Paper. The following are the CPU details: Intel Core i7 2.2GHz, 16GB RAM memory, 64-bit operating system. So far the solvers CONOPT 4.0 and IPOPT 3.11 have been able to solve the case without problems. Unfortunately, when I use MINOS the following error appears: Errors/Warnings Warning: Model status 13: Error no solution, Solver status 9: Error: Setup failure (see message window). Message Window For the MinCost 39239 columns have been generated of which only 31245 are non-empty. Calling MINOS for NLP of 34726 rows, 31245 columns and 109867 non-zeros. Calling MINOS to solve NLP model 'MinCost' and minimize GenCost. Generation required 0.406 seconds. MINOS error: Not enough memory for basis factorization. Required amount of memory: 2799 Mb. You could increase the value of the general solvers option 'solver workspace'. There is 1.7
The AimmsXLLibrary was introduced in AIMMS 4.20. You can deploy your AIMMS project to more platforms with less restrictions, because this library can communicate with Excel files in server environments where Excel is not installed. For instance, while running AIMMS through a WebUI on PRO or on Linux. The AimmsXLLibrary doesn’t require Excel to be installed in order to read from or write to an Excel (.xls/.xlsx) file. You first need to add the system library `AIMMSXLLibrary` to your model, and then you can use the predefined `axll::` functions. [url=https://how-to.aimms.com/Articles/85/85-using-axll-library.html]Read more...[/url]
Hi all, I am constructing an app that a lot of users are using, with a lot of different datasets. These datasets are loaded from and saved to a database. Is there a possibility to show a name on every page in the app specific for that dataset, without having to add a widget to every page? I provided a screenshot below of a page in the app. I was thinking about maybe the word "Menu" that could be editable? Or could I place something before "Masterdata" that shows which dataset someone is using. As people only go to the homepage to change datasets, this would seem logical to me (this page would then display "Dataset 1> Masterdata", or something like that). Or does anyone have a better tip for this? [img]https://uploads-eu-west-1.insided.com/aimms-en/attachment/6f5878e9-4e82-4474-b64c-3e732b07d789.png[/img]
In May 2018 AIMMS announced a plan to deprecate compound sets in stages. Support for compound sets will be fully deprecated [b]after January 1, 2020[/b]. To find out how to identify and remove compound sets from your model without losing functionality, read [b]AIMMS Knowledge:[/b] [url=https://how-to.aimms.com/Articles/109/109-convert-compound-sets.html]Prepare for the Deprecation of Compound Sets[/url]. This article provides the following background information: [list] [*][url=https://how-to.aimms.com/Articles/109/109-deprecate-compound-sets-overview.html#section-what]Definition of compound sets in AIMMS[/url] [*][url=https://how-to.aimms.com/Articles/109/109-deprecate-compound-sets-overview.html#section-why]Reason to deprecate compound sets[/url] [*][url=https://how-to.aimms.com/Articles/109/109-deprecate-compound-sets-overview.html#section-when]Timeline to adapt your model[/url] [/list] Here is the [url=https://how-to.aimms.com/Articles/109/109-deprecate-compound-sets-ov
This article discusses some elements from the popular software methodology Test Driven Development in relation to the AIMMS Library AIMMSUnitTest. Gather requirements from stakeholders What are small examples? What are the edge cases, including error cases, performance? Implement requirements as unit tests and see them fail! Development Write the code for the functions Execute tests and see them pass! Refactor until performance is acceptable. Repeat Read more...
Already have an account? Login
Please use your business or academic e-mail address to register
Login to the community
No account yet? Create an account
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.