chrispahm / gams-ide Goto Github PK
View Code? Open in Web Editor NEWA GAMS IDE for VS Code
License: MIT License
A GAMS IDE for VS Code
License: MIT License
In FarmDyn (and possibly also CAPRI and CGEBox), the Parse symbol values
feature in gams-ide
will throw and error stating that user errors were encountered in the DMP .lst file:
For the symbol parsing to work, we first create a DMP file (= a GAMS file that joins all include statements and GDX values of a model like FarmDyn into a single file) from the current model. gams-ide
then injects display
statements into the DMP file for every symbol which is found by the compiler (see createRefTreeWithSymbolValues.js). The DMP file is then solved with a maximum solver time limit of 0 (resLim = 0), because we are not interested in the optimal variable values, but rather the parameter values, sets and execution time adjustments of variables etc that enter a solve statement.
When executing the model with a maximum solver time limit of 0, the solver will throw an error saying that there has been a "Resource Interrupt" (error code 3) and "No Solution Returned". This is the expected behaviour of GAMS and the solvers.
However, models like FarmDyn implement a special logic that once the model is found to be infeasible (for whatever reason), they switch the solver to CONOPT in order to reduce infeasibilities which usually helps finding errors in the model (see solve/treat_infes.gms). Since this again fails due to the resource limit of 0, we run into an abort statement saying that there is an "Error in model structure, in exp_starter, Solve model without farm, only off farm work: infeasible".
While the symbol values are still correctly parsed, it's difficult on how we want to proceed with this error, because it's impossible for us to check if the error in the .dmp file is a real error (like #5) or a "fake" error like this one.
Keep showing the error, but add "Hide error" option that hides the error for the current session. This was implemented in #14 (v.0.0.54). If this is sufficient, please suggest to close this issue
Update FarmDyn to not go into the infeasibility route when the solver returns with "Resource Interrupt" โ
(m_farm.modelstat eq 14)
from treat_infes.gmsexp_starter.gms
to not abort after solves when m_farm.modelstat eq 14
??? other solution, please suggest
linter-gams for Atom had a GAMS autocomplete package that added model aware autocomplete suggestions
https://github.com/chrispahm/autocomplete-gams/tree/master/data
Is this desired for VSCode as well?
Check box "move to end of listing after solve" is disabled. After solving the model and having e.g. a compilation error, I sometimes end up in the middle of the listing and not in the beginning where I see the relevant errors. Sometimes it works, but I have not found a pattern for this bug yet.
When clicking on a compile time variable, it would be nice to see it's current value.
Requires $show
or $showVariables
to be present at the end of the GAMS input file.
This is actually a bug in GAMS (<= v44.4), discussed here
https://forum.gamsworld.org/viewtopic.php?f=6&t=12817&sid=0c8cb12609bc972173efb43417bef3a4&p=30980#p30980
Should run the associated .gms file
When scroling the listing file, stopping somewhere in the middle and then going back to gms file - in this case, the last position in listing is lost as it always jumps again to the end.
Some users report that gams-view fails to open when
ctrl-shift-p
โ Open GAMS SidebarPreferably using https://vitepress.dev/
When executing gams over vs code, it takes around 20 minutes until model starts running
For instance setting the option to e.g. the dat
directory in FarmDyn would then allow to make a compilation check in e.g. dat/crops_de.gms
without having to check the .lst file for errors.
The option should take a glob pattern, similar to how excluding files and folders in VSCode works.
Example:
"Multi-file entry point": "exp_starter.gms",
"Ignore files for multi-file-entry point": "dat, user, ktbl,gams/*_ignored_files.gms"
When I specify an element name in quotes to cause GAMS to operate over just a single element of a set (e.g. "noTill" in "c_p_t_i(curCrops,plot,"noTill","normal"), gams-ide does not provide me any information on this set.
However, often it would be helpful to 1) get the name of the set and 2) get the same information as clicking on the set.
I do not know if this issue can be solved.
When I change setting in the GUI (e.g. switch on another branch) and then run the model via VS code, the changes are not reflected. I have to start the model once over the GUI and then the correct start via VS code is also possible.
Features should include
Like sum
etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.