Ask the Community
Get help and interact with other developers and experts
Hello! We are working on a project where data files are stored in central storage following an optimization. We would like users to be able to view and load those case files into a session at a later point in time. We store these data files in a PublicData folder for all users to use. However, regular users are not able to see any of the folders/items, no matter what the permissions of a file/folder are. Am I missing something regarding how central storage viewing works? Looking forward to your answer!
Hi all, I want to read data from Excel but it should be sorted customly. In Excel the data is like this: The result in AIMMS should be this: I can create this with a text join in Excel and paste the value in the data field in AIMMS but the data changes frequently so I want to automate this with AXLL functions. It is important that the order of a, b and c holds. Does anyone have an idea to do this?
Hi community!I have a problem about a formulation and I am looking for help!I have defined a set “Input” index i, and two subsets “input1d” index id and “input1s” index is. Here is my formulation of a constraint:Identifier : MassConservation12Index domain : (i,id,is,r)Definition : sum(t, S1(i,t,r))+Stock1(i,r-1)=sum(d, Y1(id,d,r))+sum(s, uu1(is,s,r))+Stock1(i,r)+ZZ1(id,r) Should I modify the index domain in order to make clear that id and is are subsets of i? Thank you!
A vulnerability in SSL 1.1.1 has been recently reported. Since we do use SSL in our products we would like to inform you of the impact it has on the security of AIMMS and PRO platform. What are the vulnerabilities? The actual vulnerabilities are mentioned in this article: https://www.openssl.org/news/openssl-1.1.1-notes.html, under “Major changes between OpenSSL 1.1.1s and OpenSSL 1.1.1t [7 Feb 2023]”They are explained here in detail:https://nvd.nist.gov/vuln/detail/CVE-2023-0286 [high 7.4] https://nvd.nist.gov/vuln/detail/CVE-2023-0215 [high 7.5] https://nvd.nist.gov/vuln/detail/CVE-2022-4450 [high 7.5] https://nvd.nist.gov/vuln/detail/CVE-2022-4304 [medium 5.9] Where do we use OpenSSL 1.1.1h in our software? Product Application of OpenSSL 1.1.1 PRO on Cloud does not use OpenSSL libraries PRO on-premise uses OpenSSL 1.1.1h for downloading autolibs and for traffic from/to the portal in case the admin has enabled SSL HTTP Client Library
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
I recently published a “how-to” article that provides an example of Python code that can be used to publish a project, run a specific task on it and delete the published project. Use case?“When using a CI/CD pipeline” you may want to test the app as follows: Publish Run scenario Cleanup (including removing the app) https://how-to.aimms.com/Articles/571/571-publish-run-delete.html
What is CI/CD?CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment. These are desirable characteristics to have in application development and can be implemented with the context of AIMMS. We recently published an article in our How-To describing the required steps to create a CI/CD pipeline for your AIMMS projects. We try to be as agnostic as possible in terms of platforms.Each pipeline can be setup in a way that better suits your companies needs, such as controlling when a new version is published in testing environment and when it will be published in production. Check out the article here:https://how-to.aimms.com/Articles/571/571-ci-cd-guide.html
Here is the problem:“k” is a parameter in optimization problem A, for a specific “k1”, we can get the optimum solution “S1” for problem “A”. Now I hope the solution “S” is closer to a specific solution “S*”, so I will need to change the “k” to minimize |S-S*|. How can I formulate this double-layer problem in AIMMS?
The objective variable is A(t) contains t = 1 to 24. The mathematical program is to maximize the sum of all the elements in A, i. e. Max sum(A(t)), t = 1 to 24. At the same time I hope to constrain the property of the objective variable that the standard deviation SD(A) is no larger than a constant “a”. So I defined a variable “SD(A) = standard deviation of A”. Then a constraint “SD(A) <= a”. When I run the program, it reminds me of “constraint programming constraints cannot be used in combination with real valued variables, only with integer valued variables, element valued variables, and activities. The real valued objective variable is an exception. The mathematical program has both constraint programming constraints and real valued variables.” However, when I revise the constraint from inequality to equality, i.e. SD(A) = a. Then no error arises and I get the answer. Why dose this happen? And How can I deal with it if I want the inequality constraint?
Like one day have 24 hours, I need to calculate the variables for 24 periods, but these variables are defined by 25 points, so I define the index t as “25”. For example variable A contains 24 elements, A(1) = B(2)-B(1)…...A(24)=B(25)-B(24). If I define an index “t” as 25, I can simply define the B as B(t) using t (1 to 25) as the domain. But How can i define A which only contains 24 elements, actually from 1 to 24, can I use part of t domain from 1 to 24?
In this article we will compare a [b]multi[/b]-[b]objective[/b] approach to separately solving single objectives. Let’s take for an example a problem trying to find a healthy diet for a reasonable price. First let’s define our objectives: [list] [*]Minimize calories: I’m trying to lose some weight, so my healthy diet should be low in calories. [*]Minimize price: A reasonable price means that it doesn’t have to be the absolute minimum, but should be within a close range. [/list] Now, let’s use the [b]multi[/b]-[b]objective[/b] feature to solve. [url=https://how-to.aimms.com/Articles/276/276-multi-objective-approach.html]Read more...[/url]
If you’re an AIMMS developer building an app for end-users, you’ve probably considered adding a logo to make the app resonate with your company’s brand. This also helps you drive acceptance within your organization. This new How-to by @Chris Kuip explains:How to add a logo to you app How to tweak the logo as needed Best practices for selecting and adjusting logos.Read the tutorial and access supporting examples here: https://how-to.aimms.com/Articles/518/518-add-logo-to-webui-app.html
I recently got the question, how to assign a value to a given parameter; for instance the end user enters the name of a configuration parameter and its new value. This question is similar to obtaining the value of an arbitrary identifier, and runtime libraries can be used to code this generically; see https://how-to.aimms.com/Articles/146/146-value-dynamic-identifier.htmlI created a small example model, whereby three parameters can be changed by naming them in the bottom scalar widget and entering a new value as illustrated below:Demo app after entering a value for AB987.Please find the demo app attached to this post.
We are trying to use multiple solver session to solve a large scale problem. We have taken the case of flow shop problem given in AIMMS. We are trying to change the “Number of parallel workers = 2/3/4”, but after solving it is resetting this value to 1 after solve and the solution time is also not improving. We have used the following for delegate to serverif not ProjectDeveloperMode then if pro::DelegateToServer(timeout : 108000000,completionCallback:'pro::session::loadResultsCallBack', waitforcompletion:1) then return; endif;endif;Kindly help and let us know how to use multiple solver session for a large scale optimization problem. Thanks.
Hello everyone,I’m new in AIMMS and need help for my thesis. I need to implement the following constraints: t is an index for the period, here t = ( 1,2,3,…,T )How can i set the initial value from E(t=1) = Q How can I implement the E(T+1) Thank you in advance kind regards
Hello Everyone!One more renewed example is live! Come check! The Traveling Salesman Problem (TSP) is the problem of finding the shortest route visiting all cities precisely once. Given are the distances between the cities.TSP problems are widely studied in the scientific literature because:they are notoriously difficult to solve to optimality (NP-Hard), there is a wide range of applications, and there are various approaches of solving the problem.This example is structured as follows:The page "Network" permits you define your own network.You can use the data manager (icon data manager) to save and load instances. Two cases come with this example.Distances are estimated using the Haversine formula.The page "Heuristic" illustrates three different heuristics to solve a TSP. The page "Exact" shows how a MIP can be used to solve a TSP. The page "Comparison" compare total distance and execution time for each solve.Each of the above pages comes with a HELP side-panel, explaining how to operat
Hi Community, I am trying to use the AIMMS RegexReplace function to trim the folder path and keep the data case name. It’s working fine locally but it’s not working when testing in the server.My code looks like this: block ! Get the full path for the Active Case File _sp_ActiveCasePathName := FormatString("%s", CaseFileURL(CurrentCase)); !Check for server vs local. Local path won't likely contain the string 'PRO:/PublicDta' !example server path: PRO:/PublicData/Cases/spot_fw _bp_IndicateLocalFileName := not (RegexSearch(_sp_ActiveCasePathName, "PRO:\\\\PublicData")); ! Text example _sp_ActiveCaseName := "C:\GitHub\spot-fw\Model Folder\data\DataCase_C5AgeTest_Output.data" ! This Removes the structure !local: C:\\Location_of_File\With general\ideas-of-how\afilesnamewouldbe\ !in the server: pro:/PublicData/Cases/FW SPOT Testing/ !before the actual file name if _bp
Recently, someone asked me about time limits for AIMMS PRO Jobs.You can control the timeout via the timeout argument in pro::delegateToServer. Note that this timeout is in milliseconds.When thinking about time limits, I usually think about time limit for the solver.To provide the solver with the opportunity to share the best solution thus far, I usually add some minutes to cater for case load, project start, case save etc of the job to the time limit for the AIMMS PRO Job. Therefore, my delegate sometimes looks as follows:if pro::DelegateToServer( ... timeout: p_timeLimit * 1.2 * 1000 + 5 * 60 * 1000, ! timelimit for job is in milli seconds. ....) Where p_timeLimit is the time limit in seconds for the solve itself.
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.