Skip to content

SettingsFactory Upgrade (Gurobi) #80

Description

@mentatpsi

While I know there are necessary bugs to be fixed in the save feature, I wanted to also work on some needed upgrades for the SettingsFactory. I've been noticing that there is potential to centralize a decent amount of tools into it while reducing the risk of creating an overly complex swiss-army knife (credit goes to Dennis for that term).

First off, there's the matter of Gurobi. I would like to thank Jim for his work towards the gurobi directory finder thus far. I would imagine, given the conversations I've had with Jim, that there's a lot of benefit to knowing the directories that gurobi resides within a system. First, there is the technique of reading the environmental variable to detect whether or not Gurobi was properly installed. I might be mistaken on this, but if Gurobi has no environmental variable, it may also imply that it hasn't been activated and therein wouldn't be functional to a user. Upon further research, there exists a file called gurobi.lic that should represent an active gurobi license. I know most are already aware of the fact that FBA cannot run without an active gurobi license, and I'd imagine GDBB is the same. For more information: http://www.gurobi.com/resources/faqs#license-keys

So this is my current ambition with the project because this will be an inevitable bug if not resolved. I will make it bullet pointed with check marks on what's been accomplished thus far. Afterwards I will test it to make sure it is functional

  • Create sub-class within SettingsFactory called Gurobi
  • Add feature for finding current directories of Gurobi Files
  • Add feature for discovering most recent version
  • Add feature for discovering if Gurobi on host machine is active
  • Develop boolean return function for whether gurobi is active on host machine
  • Add features for creating an environmental variable for the location of the Gurobi license file. I need to find out if creating an environmental variable requires admin privileges, which I imagine is bad programming practice.
  • Add get and set features for easy acquisition of information
  • Add a Gurobi status gui that can be opened through menu
  • Add a map that maps between version and absolute path name for easy switching

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions