I have set up a mixed-integer linear programming to solve in python. The (very) general form of the objective function is
minZ = costs1(i,j,k,l) + costs2(i,j,k,l) - profits(i,j,k,l)
There are 8 constraints, some that are related only to cost variables, some to cost and profits and some to profit variables only. I know the problem is feasible since when I run it for the objective set to 0 it reaches an optimal, but I get the message that it is unbounded.
Since we are talking about a minimization problem, is it correct to assume that some of the last 2 types of constraints (costs & profits or profits only) are the ones that are unbounded, causing the objective function to tend towards negative infinity within the feasibility set?
Should I focus on them or should I also look at the objective function?
The mathematical formulation can be found here: https://github.com/gdafn/factoryOptimization
Unboundedness isn’t related to whether we’re minimizing or maximizing, as you can always change a minimization to a maximization (and vice versa) by multiplying the objective by $-1$.
It doesn’t really make sense to say that a constraint is unbounded. Any linear constraint $a^\text{T}x\leqslant{b}$ defines a closed halfspace—i.e. an unbounded region in $\mathbb{R}^n$. Constraints don’t cause unboundedness—they prevent it.
This really depends on what you’re modeling! It could be that you’re missing some important constraints on your model (non-negative variables is a common one), or that your objective is incorrect (or both). Figuring out which one is the problem depends on the situation.
To get a more complete answer, it would be helpful if you provided the complete model.