Excel remains extensively used in industry for non-OR applications. That means that if you are doing an OR application that does not require access to a database, there's a good chance the data for the application will come to you in either an XLSX or CSV file. On the flip side, when it comes time to convey the solution provided by your application, it is ...
While it does not deliberately transform the problem before exporting it, using the LP file format means that double precision coefficients are being converted to character strings (and, in the process, truncated and/or rounded). So there will frequently be a little loss of precision, and sometimes that "little" loss of precision can turn into big ...
If you export the model, then by default, Cplex will export your original, unaltered model. When you solve a model, Cplex will, by default, first invoke a presolve,during which it will attempt to simplify and tighten your model, e.g. by removing redundant constraints, solving for logical implications, etc. As per this SO post, you can then also export the ...
Many many people know Excel and use Excel. So many OR projects start with some Excel spreadsheet. And that is why being able to read from and write to Excel is key. You may even start the project with the Excel solver.
Moreover Excel is a common tool when companies choose plugin optimization instead of packages, custom or tailored optimization.
If I understand the problem correctly, it might be modeled as a variant of the resource-constrained project schedule in which you have some parallel machines and the tasks should be performed with some limitation. From the above-given data, some noisy things should be considered.
First, limiting the start time of a task by being started from the same point ...
When you say model.x then you know that this x is a part of the model
if you see
what can you say about the X ?
is it a constant ? constant in the model ? var in the model ?
This also applies to naming the variables
if you use model.i it works
if you use model.generators it works as well!
but in the second case it is more ...
Which options to use
The problem is that the "time limit" is not handled by Pyomo (which just connects to a solver), but by the solver itself. Different solvers have different names for "time limit" options. See this StackOverflow post about that. The timelimit option you're setting above would work for CPLEX, but maybe not for GAMS (see ...