Linear program for non-zero combination of solutions

70 Views Asked by At

I am creating a linear program to find the optimal solution that is a combination of $3$ variables but due the constraints I have the optimal solution is just a combination of a non-zero value of one variable and the other two are zeros. It is possible to add constraints, between the variables, in order for the problem to find the "optimal solution" that is a non-zero combination of the three variables?

Consider the following linear program.

$$ \begin{array}{ll} \underset {x_1, x_2, x_3} {\text{minimize}} & 0.705 x_1 + 1.95 x_2 + 0.191 x_3 \\ \text{subject to} & x_1 + x_2 + x_3 \geq 10000 \\ & x_1, x_2, x_3 \geq 0 \end{array} $$

The objective function is the price function and the variables are the amount of energy in KWh of three sources of renewable energy. The first constraint is the demand constrain basically how much I want the system to produce. But since the price per KWh is cheaper for the source 3 then it will go zero for every other source.

2

There are 2 best solutions below

1
On

If you want to disallow $x_i = 0$, then decide a minimum constant threshold $\epsilon_i$ for what you consider to be "nonzero enough" and impose lower bounds $x_i \ge \epsilon_i$.

0
On

As the problem is posed, the optimal solution is for source 3 to deliver 100% of the capacity. In order to change this, you have to change something about the problem. For example:

  1. As mentioned in another answer, change the lower bounds on the variables to some minimal contribution that you want each source to make.

  2. Introduce maximum values on each variable representing how much capacity each is able to contribute. For example, if no single source should provide more than half of the required capacity, you could represent that as $x_1, x_2, x_3 \leq 5000$.

  3. Introduce constraints that bound how much each source can contribute relative to the others, for example if source 3's contribution cannot be more than three times that of source 1's, that would be represented as $x_3 \leq 3 x_1$.

  4. Introduce non-linear components that provide additional restrictions, either as constraints or as part of the objective function. (For example, the cost for a source to provide energy might be a variable that depends on their contribution, or on the prices the other sources charge, or some other factor.)

Note that all of these involve changing the description of the problem. If you're trying to model a particular system, you should be setting up the problem to accurately describe the system, not changing it in order to provide the answer you want.