Intelligent Tutoring System of Linear Programming

Abstract

There is a growing technological development in intelligent teaching systems. This field has become interesting to many researchers. In this paper, we present an intelligent tutoring system for teaching mathematics that helps students understand the basics of linear programming using Linear Program Solver and Service for Solving Linear Programming Problems, through which students will be able to solve economic problems. It comes down to determining the minimum or maximum value of a linear function, which is called the objective function, according to pre-set limiting conditions expressed by linear equations and inequalities. The goal function and the limiting conditions represent a mathematical model of the observed problem. Working as a professor of mathematics in high school, I felt the need for one such work and dealing with the study of linear programming as an integral part of mathematics. There are a number of papers in this regard, but exclusively related to traditional ways of working, as stated in the introductory part of the paper. The center of work as well as the final part deals with the study of linear programming using programs that deal with this topic.

Share and Cite:

Hasic, A. and Jukic, S. (2022) Intelligent Tutoring System of Linear Programming. Advances in Linear Algebra & Matrix Theory, 12, 39-66. doi: 10.4236/alamt.2022.122003.

1. Introduction

Many problems from everyday life can be formulated as the minimum or maximum of a target function given limited resources and mutual constraints. If it is possible to define an objective function as a linear function of certain variables then we get the problem of linear programming.

The beginnings of the problem of linear programming can be found in Fourier, after which one of the methods for solving the problem of linear programming (Fourier-Motzkin elimination 1) was named1.

The linear programming technique was first developed by Leonid Kantorovich in 1939, so that during World War II. World War II planned costs and earnings and thus reduced military costs and increased enemy losses. This technique was not available to the general public and was therefore not used in solving everyday problems until 1947 when George B. Dantzig published the simplex method and John von Neumann developed the theory of duality as a solution to the problem of linear programming and applied it in theory games. After the war, many industries found the benefits of linear optimization (including linear programming techniques) in day-to-day cost and profit planning.

Many practical problems in operational research can be expressed as linear programming problems. Throughout history, ideas in the field of linear programming have contributed to the development of the main concepts of optimization theory such as duality, decomposition, and the importance of convexity and its generalization. Likewise, linear programming is used in microeconomics, manufacturing, technology, transportation, and other problems.

The mathematical basis of linear programming consists of linear equations and inequalities, and the theory of convex sets. Simpler problems of linear programming are solved graphically, while more complicated problems are solved by special methods, with the use of computers and programs. Given the large number of areas in which LP can be applied and the importance of having efficient algorithms to solve LP problems, any contribution of LP is very relevant. Accordingly, in this paper, a new method for solving LP problems by applying for certain aids, i.e. by applying intelligent programs.

2. Convex Figures of Points in a Plane

The notion of convex figures as a set of points is very present in the theory of linear programming.

Definition 1.1. A set of points in a plane represents a convex figure if together with each of its two points P and Q contain all points longer than PQ.

Convex figures can be finite or unbounded.

Definition 1.2. A point is the boundary point of a figure if each circle centered at that point contains at least one point of that figure and at least one point that does not belong to that figure.

Examples of convex figures in a plane are along, closed and open semi-planes, closed and open polygons, closed and open circles, and others (see Figure 1).

Figure 1. Convex figures.

Non-convex figures are those in which joining any two points inside the figure (creating a long line) leaves the interior of the figure (see Figure 2).

Linear inequalities with two unknowns

To make it easier to show the way in which the problem of linear programming is solved, we must touch on linear inequalities with two unknowns. The most appropriate way to solve such linear inequalities with two unknowns is to represent the solution using graphs. Take for example one linear equation of the first order $y-x=4$ . Drawing graphs of this equation is performed in the way for the first point we take the value $y=0$ and get that $x=-4$ , and in the second case we assume that $x=0$ it follows that $y=4$ . Now we have two points $\left(-4,0\right)$ and $\left(0,4\right)$ , we draw a line through those two points and we have the solution of the linear equation (see Figure 3).

Drawing the solution of a linear inequality is similar, where instead of the sign = we have the signs ≤, ≥, <, > and depending on these signs we also have the area of the solution of the linear inequality.

Let $f\left(x,y\right)$ be a function of the variables x and y. The general form of the inequality with two unknowns is represented by a formula.

$f\left(x,y\right)>0$ (1)

where instead of the sign > the signs ≤, ≥, < can also appear.

Figure 2. Nonconvex figures.

Figure 3. Graphical representation of the solution of the equation $y-x=4$ .

The solution of Inequality (3) is any ordered two $\left({x}_{0},{y}_{0}\right)$ , real numbers for which $f\left({x}_{0},{y}_{0}\right)>0$ , The solution of Inequality (3) means to find the set of all solutions of this inequality. The set of solutions of Inequality (3) corresponds to the set of points of the coordinate planes xOy.

If $f\left(x,y\right)$ is a linear function, Inequality (1) reduces to a linear inequality with two unknowns.

$ax+by+c>0\text{\hspace{0.17em}}\left(a\ne 0\text{\hspace{0.17em}}\text{ili}\text{\hspace{0.17em}}b\ne 0\right)$

where instead of the sign > inequality signs can also appear.

The procedure for solving the inequalities $ax+by+c\ge 0$ and $ax+by+c\le 0$ is reduced to examining the sign of the linear trinomial $ax+by+c$ for all possible values $\left(x,y\right)$ . It is known that the set of points whose coordinates satisfy the equation $ax+by+c=0$ , represents a straight line in the coordinate plane xOy, which we will denote by l. The line l divides the coordinate plane into two half-planes. The set of all points on the same side of the line l represents an open half-plane whose boundary is the line l.

Theorem 1. The linear trinomial $ax+by+c\left(a\ne 0\text{\hspace{0.17em}}\text{or}\text{\hspace{0.17em}}b\ne 0\right)$ is positive at all points of one open half-plane, and negative at all points of the other open half-plane for which the line l;

$ax+by+c=0$

divides the coordinate plane xOy. At all points, they make l the value of the linear trinomial 0.

Proof. Let $b\ne 0$ , $M\left(x,y\right)$ be any point that does not belong to l and $N\left(x,{y}_{0}\right)$ point of line l with the same abscissa x. As the point $N\left(x,{y}_{0}\right)$ belongs to the line l, its coordinates solve the equation of the line l, i.e. valid

$ax+b{y}_{0}+c=0$

Next, we get,

$ax+by+c=ax+by+c-\left(ax+b{y}_{0}+c\right)$

$ax+by+c=b\left(y-{y}_{0}\right)$ (4)

Suppose that $b\ne 0$ , observing Equation (4), we conclude that the trine $ax+by+c$ has the sign of the coefficient b if $y>{y}_{0}$ , i.e. for all points of the coordinate plane xOythat are above the line l. Also, this trinomial has a sign opposite to the sign of the coefficient b if $y<{y}_{0}$ za for all points of the coordinate plane that are below the line l.

Suppose that $b=0$ , then the linear trine reduces to the stage $ax+c=0$ and the equation of line l is $ax+c=0$ . According to the assumption due to $b=0$ , it must be $a\ne 0$ , the line l represents the line $x=-c/a$ parallel to the ordinate axis. How is it

$ax+c=a\left(x+\frac{c}{a}\right)$

We conclude that the binomial $ax+c$ has the sign of the coefficient a for $x>-c/a$ , i.e. for all points of the coordinate plane that are to the right of the line l. We conclude that its sign is opposite to the sign of the coefficient a for $x<-c/a$ , i.e. for all points of the coordinate plane to the left of line l.

It follows from the proved theorem that the sets of solutions of the inequalities $ax+by+c>0$ and $ax+by+c<0$ are all points of open half-planes for which the line l divides the coordinate plane. The sets of solutions of the inequalities $ax+by+c\ge 0$ and $ax+by+c\le 0$ are all points of closed half-planes for which the line l divides the coordinate plane.

The line divides the plane into two half-planes. The vertical direction divides the plane into the left half-plane and the right half-plane (see Figure 4), the oblique direction divides the plane into the upper half-plane and the lower half-plane (see Figure 5).

Figure 4. Left and right half plane.

Figure 5. Upper and lower half plane.

3. The Basic Problem of Linear Programming

The basic problem of linear programming is to determine the maximum or minimum of the goal function:

$F\left(x,y\right)=ax+by+c$ (2)

under restriction

${a}_{1}x+{b}_{1}y+{c}_{1}\ge 0$

${a}_{2}x+{b}_{2}y+{c}_{2}\ge 0$

$⋮$

${a}_{m}x+{b}_{m}y+{c}_{m}\ge 0$ (3)

$x\ge 0,y\ge 0$

The function of Goal (2) and Constraint (3) represent a mathematical model of the linear programming problem.

The optimal solution to the problem of linear programming with a mathematical model defined by Conditions (1) and (2), are the coordinates of these points of a convex figure determined by (2), for which the objective function $F\left(x,y\right)$ has a maximum or minimum.

If Constraint (3) determines a convex polygon the function $F\left(x,y\right)$ reaches extreme values in some vertices of this polygon, if Constraint (3) determines an unbounded convex figure the external values of the function $F\left(x,y\right)$ are determined by simple geometric consideration.

Example 2.1. Determine the extreme values of a function

$F\left(x,y\right)=3x+y+5$

with restrictions

$x+y-20\le 0$

$x+y-10\ge 0$

$x-10\le 0$

$y-30\le 0$

$x\ge 0,y\ge 0$

Solution: The set constraints determine the convex quadrilateral.

We find the coordinate vertices of this quadrilateral by solving a system of equations.

$x=0,y=0,x-10=0,x=0$

$x+y-10=0;x-10=0;x+y-20=0;x+y-20=0$

$A\left(0,10\right),B\left(10,0\right),C\left(10,10\right),D\left(0,20\right)$ (see Figure 6)

By substituting the coordinates of the vertex of the quadrilateral in the function $F\left(x,y\right)=3x+y+5$ we get:

$F\left(0,10\right)=3\ast 0+10+5=15$

$F\left(10,0\right)=3\ast 10+0+5=35$

Figure 6. Coordinate vertices of a quadrilateral obtained by solving a system of equations.

$F\left(10,10\right)=3\ast 10+10+5=45$

$F\left(0,20\right)=3\ast 0+20+5=25$

From which we conclude that:

$\mathrm{min}F\left(x,y\right)=F\left(0,10\right)=15$

$\mathrm{max}F\left(x,y\right)=F\left(10,10\right)=45$

Finding the coordinates of all the vertices of a polygon and replacing them as a function of the target can take a long time, especially if the polygon has a large number of vertices. The process of finding the extreme values of a goal function can be simplified if geometric considerations determine the vertices of the polygon in which the function reaches extreme values. Then the coordinates of only these vertices and their replacement coordinates in the target function are determined.

4. Intelligent Tutoring Systems

Intelligent Tutoring Systems (ITS) have been researched in AI for decades. With the huge development and increasing availability of programs, the application of intelligent learning systems is becoming more probable and precise, and the research of intelligent characteristics has received more attention than before. As a result, a number of new ITS, programs and websites have been established in recent years  .

There are many ITS developed for:

ITS for learning Java objects, evaluation of Java expression, linear programming, ITS for teaching Mongo database, ITS efficiency of e-learning, efficiency of CPP-Tutor, teaching AI search algorithms, teaching database, ITS for teaching 7 characteristics for mercury beings, ITS for teaching proper pronunciation in reciting the Holy Qur’an, ITS for health problems related to video game addiction, ITS for teaching advanced topics in information security, Oracle Intelligent Tutoring System (OITS), ITS for learning computer theory, e-learning system, ADO-Tutor: Intelligent tutoring system to rely on ADO.NET, ITS to pass parameters in Java programming, and predict student performance using NT and ITS, CPP-Tutor for C++ programming language, comparative study between animated intelligent teaching systems (AITS) and video-based Intelligent Tutoring Systems (VITS), ITS for Stomach Diseases Intelligent Teaching System, ITS for dia betes, computer networks, DSETutor for teaching DES information security algorithm.

5. What Is an Intelligent Tutoring System?

The terms tutor and mentor refer to someone who provides professional assistance in a particular field; to someone who helps to acquire certain skills and knowledge in the learning process. Transferred to the context of information technology and artificial intelligence, Intelligent Tutoring Systems (ITS) is software that simulates the behavior of tutors/teachers/mentors, i.e. learning assistant. More specifically, this software provides individual support and assistance in learning by asking students questions, analyzing their answers and offering customized instructions and feedback that are in the function of learning and understanding the content.

There are several programs that I think we can use when solving tasks from linear programming, which apply an intelligent system in such a way that each task solving procedure is available and elaborated in the right way and easily accessible to students.

Graphing Method Calculator for Linear Programming

This is the first problem to be solved when studying linear programming. This method allows solving linear programming problems for a two-variable function. The solution is accompanied by detailed comments and a large number of images. You can solve your problem or see all possible solutions to this problem. The program is available on the website (see Figure 7): http://reshmat.ru/graphical_method_lpp.html?MaxOrMin=1&lx1=2&lx2=3&a11=2&a21=3&z1=1&b1=6&a12=2&a22=3&z2=2&b2=6&step=2&count=2#b.

Application of the program

Example 3.1.

Find the maximum value of the function

$F=2{x}_{1}+3{x}_{2}$

subject to restrictions (Figure 8)

${x}_{1}+{x}_{2}\le 15$

${x}_{1}+{x}_{2}\ge 25$

${x}_{1}\ge 0,{x}_{2}\ge 0$

By clicking on Solve we get the solution of the whole task.

Solution: see Figure 9

Figure 7. Program layout.

Figure 8. Assigning proposed constraints to the program.

Figure 9. Introductory part of the solution of the given task.

The points whose coordinates satisfy all the inequalities of the constraint system are called the area of feasible solutions.

Any inequality of the constraint system needs to be addressed in order to find an area of feasible solutions to this problem (see Step 1 and Step 2).

The last two steps are necessary to get an answer (see Step 3 and Step 4).

This is a standard solution plan. If the area of feasible solutions is a point or an empty set then the solution will be shorter.

Step 1

Let us solve 1. The inequality of the constraint system.

${x}_{1}+{x}_{2}\le 15$

We need to draw a straight line:

${x}_{1}+{x}_{2}=15$

Let ${x}_{1}=0⇒{x}_{2}=15$ .

Let ${x}_{2}=0⇒{x}_{1}=15$ .

Two points were found: $\left(0,15\right)$ and $\left(15,0\right)$ .

We can now draw a straight line (1) through the two points found.

Let’s go back to inequality.

${x}_{1}+{x}_{2}\le 15$

We need to transform the inequality so that only ${x}_{2}$ is on the left.

${x}_{2}\le -{x}_{1}+15$

The sign of inequality is ≤.

Therefore, we must consider the points below the straight line (1).

Let’s combine this result with the previous picture.

We now have an area of feasible solutions shown in Figure 10.

Figure 10. Teaching the solution of the problem next page.

Step 2

Let us solve 2 inequalities of the constraint system.

${x}_{1}+{x}_{2}\ge 25$

We need to draw a straight line

${x}_{1}+{x}_{2}=25$

Let ${x}_{1}=0\to {x}_{2}=25$ .

Let ${x}_{2}=0\to {x}_{1}=25$ .

Two points were found: $\left(0,25\right)$ and $\left(25,0\right)$ .

We can now draw a straight line (2) through the two points found.

Let’s go back to inequality.

${x}_{1}+{x}_{2}\ge 25$

We need to transform the inequality so that only ${x}_{2}$ is on the left.

${x}_{1}\ge -{x}_{1}+25$

The sign of the inequality is ≥.

Therefore, we must consider the points above the line (2).

This result has no common points with the area of possible solutions of the previous step (see figure).

From the given example 3 with the solution, we can see the flexibility and possibilities of the program that is offered to us and the way of graphical solving of linear programming.

Here is another example that, thanks to the program, can solve the following task with an explanation.

Example 3.2.

Find the maximum value of the function

$F=3{x}_{1}-\frac{2}{3}{x}_{2}$

subject to restrictions

$3{x}_{1}-{x}_{2}\le 9$

$4{x}_{1}+7{x}_{2}\ge 28$

${x}_{1}\ge 0,{x}_{2}\ge 0$ (Figure 11)

By clicking on Solve we get the solution of the whole task.

Solution: Figure 12

The points whose coordinates satisfy all the inequalities of the constraint system are called the area of feasible solutions.

Any inequality of the constraint system needs to be addressed in order to find an area of feasible solutions to this problem (see Step 1 and Step 2).

The last two steps are necessary to get an answer (see Step 3 and Step 4).

This is a standard solution plan. If the area of feasible solutions is a point or an empty set then the solution will be shorter.

See the picture for a plan to solve this problem

According to the condition of the task: ${x}_{1}\ge 0,{x}_{2}\ge 0$ .

We now have an area of feasible solutions shown in Figure 13.

Figure 11. Setting the maximum value of the proposed constraint function.

Figure 12. Introductory part of the solution of the given task.

Figure 13. Teaching the solution of the problem next page.

Step 1

Let us solve 1. The inequality of the constraint system.

$3{x}_{1}+{x}_{2}\le 9$

We need to draw a straight line:

$3{x}_{1}+{x}_{2}=9$

Let it be ${x}_{1}=0⇒{x}_{2}=9$ .

Let it be ${x}_{2}=0⇒3{x}_{1}=9⇒{x}_{1}=3$ .

Two points were found: $\left(0,9\right)$ i $\left(3,0\right)$ .

We can now draw a straight line (1) through the two points found.

Let’s go back to inequality

$3{x}_{1}+{x}_{2}\le 9$

We need to transform the inequality so that only ${x}_{2}$ is on the left.

${x}_{2}\le -3{x}_{1}+9$

The sign of inequality is ≤.

Therefore, we must consider the points below the straight line (1).

Let’s combine this result with the previous picture.

We now have an area of feasible solutions shown in Figure 14.

Step 2

Let us solve 2 inequalities of the constraint system.

$4{x}_{1}+7{x}_{2}\ge 28$

Figure 14. Inequalities of the constraint system.

We need to draw a straight line:

$4{x}_{1}+7{x}_{2}=28$

Let it be ${x}_{1}=0⇒7{x}_{2}=28⇒{x}_{2}=4$ .

Let it be ${x}_{2}=0⇒4{x}_{1}=28⇒{x}_{1}=7$ .

Two points were found: $\left(0,4\right)$ i $\left(7,0\right)$ .

We can now draw a straight line (2) through the two points found.

Let’s go back to inequality.

$4{x}_{1}+7{x}_{2}\ge 28$

We need to transform the inequality so that only ${x}_{2}$ is on the left.

$7{x}_{2}\ge -4{x}_{1}+28$

${x}_{2}\ge -4/7{x}_{1}+4$

The sign of the inequality is ≥.

Therefore, we must consider the points above the line (2).

Let’s combine this result with the previous picture.

Step 3

We now have an area of feasible solutions shown in Figure 15.

We need to draw a vector $C=\left(3,-2/3\right)$ , whose coordinates are the coefficients of the function F (Figure 15).

Step 4

We will move the “red” straight line perpendicular to the vector $\stackrel{¯}{C}$ from the upper left corner to the lower right corner.

The function F has a minimum value at the point where the “red” straight line crosses the range of feasible solutions for the first time.

The function F has a maximum value at the point where the “red” straight line last crosses the range of feasible solutions.

The function F has a maximum value at point A (see Figure 16).

Figure 15. Teaching the solution of the problem next page.

Figure 16. Teaching the solution of the problem next page.

Find the coordinates of point A.

Point A is both on the straight line (1) and on the straight line (2).

System sign

$3{x}_{1}+{x}_{2}=9⇒{x}_{1}=35/17$

$4{x}_{1}+7{x}_{2}=28⇒{x}_{2}=48/17$

Let us calculate the value of the function F at point A.

Point A is both on the straight line (1) and on the straight line (2).

$\left\{\begin{array}{l}3{x}_{1}+{x}_{2}=9\\ 4{x}_{1}+7{x}_{2}=28\end{array}⇒\left\{\begin{array}{l}{x}_{1}=35/17\\ {x}_{2}=48/17\end{array}$

Let us calculate the value of the function F at point A $\left(35/17,48/17\right)$ .

$F\left(A\right)=3\ast 35/17-2/3\ast 48/17=73/17$

Result:

${x}_{1}=35/17$

${x}_{2}=48/17$

${F}_{\mathrm{max}}=73/17$

Comment: If there is a suspicion that the function F has a maximum at point A, you should find the value of the function F at the point of interest and compare it with F (A).

The given example is by setting the maximum value of the function. We will show the same example by specifying the minimum value of the function.

Example 3.3.

Find the minimum value of the function

$F=3{x}_{1}-\frac{2}{3}{x}_{2}$

subject to restrictions

$3{x}_{1}-{x}_{2}\le 9$

$4{x}_{1}+7{x}_{2}\ge 28$

${x}_{1}\ge 0,{x}_{2}\ge 0$ (see Figure 17)

By clicking on Solve we get the solution of the whole task.

Solution:

The points whose coordinates satisfy all the inequalities of the constraint system are called the area of feasible solutions (see Figure 18).

Any inequality of the constraint system needs to be addressed in order to find an area of feasible solutions to this problem (see Step 1 and Step 2).

The last two steps are necessary to get an answer (see Step 3 and Step 4).

This is a standard solution plan. If the area of feasible solutions is a point or an empty set then the solution will be shorter.

See the picture for a plan to solve this problem.

According to the condition of the task:

Step 1

Let us solve 1. The inequality of the constraint system (see Figure 19).

$3{x}_{1}-{x}_{2}\le 9$

Figure 17. Setting the minimum value of the proposed constraint function.

Figure 18. Introductory part of the solution of the given task.

Figure 19. Teaching the solution of the problem next page.

We need to draw a straight line:

$3{x}_{1}-{x}_{2}=9$

Let it be ${x}_{1}=0⇒-{x}_{2}=9⇒{x}_{2}=-9$ .

Let it be ${x}_{2}=0⇒3{x}_{1}=9⇒{x}_{1}=3$ .

Two points were found: $\left(0,-9\right)$ i $\left(3,0\right)$ .

We can now draw a straight line (1) through the two points found.

Let’s go back to inequality.

$3{x}_{1}-{x}_{2}\le 9$

We need to transform the inequality so that only ${x}_{2}$ is on the left.

$-{x}_{2}\le -3{x}_{1}+9$

${x}_{2}\ge 3{x}_{1}-9$

The sign of the inequality is ≥.

Therefore, we must consider the points above the line (1).

Let’s combine this result with the previous picture.

We now have an area of feasible solutions shown in the figure.

Step 2

Let us solve 2 inequalities of the constraint system (see Figure 20).

Figure 20. Teaching the solution of the problem on the next page.

$4{x}_{1}+7{x}_{2}\ge 28$

We need to draw a straight line:

$4{x}_{1}+7{x}_{2}=28$

Let it be ${x}_{1}=0⇒7{x}_{2}=28⇒{x}_{2}=4$ .

Let it be ${x}_{2}=0⇒4{x}_{1}=28⇒{x}_{1}=7$ .

Two points were found: $\left(0,4\right)$ i $\left(7,0\right)$ .

We can now draw a straight line (2) through the two points found.

Let’s go back to inequality.

$4{x}_{1}+7{x}_{2}\ge 28$

We need to transform the inequality so that only ${x}_{2}$ is on the left.

$7{x}_{2}\ge -4{x}_{1}+28$

${x}_{2}\ge -4/7{x}_{1}+4$

The sign of the inequality is ≥.

Therefore, we must consider the points above the line (2).

Let’s combine this result with the previous picture.

We now have an area of feasible solutions shown in Figure 21.

Step 3. (see Figure 22)

We need to draw a vector $C=\left(3,-2/3\right)$ , whose coordinates are the coefficients of the function F.

Step 4.

We will move the “red” straight line perpendicular to the vector C from the upper left corner to the lower right corner.

The function F has a minimum value at the point where the “red” straight line crosses the range of feasible solutions for the first time.

Figure 21. Teaching the solution of the problem next page.

Figure 22. Teaching the solution of the problem on the next page.

The function F has a maximum value at the point where the “red” straight line last crosses the range of feasible solutions.

It is impossible to find the point where the “red” line crosses the area of feasible solutions for the first time, i.e. the function decreases indefinitely (see Figure 23).

Result:

${F}_{\mathrm{min}}=-\infty$

The conclusion in itself is sufficient from the given examples, we can see what possibilities and ways of solving this program offers.

6. Linear Program Solver (LIPS)

Linear Program Solver (LIPS)  is an optimization package designed to solve the problems of linear, integer and target programming.

The main characteristics of LIPS are:

LIPS solver is based on efficient implementation of a modified simplex method.

LIPS provides not only the answer, but also a detailed solution process as a series of simplex tables, so you can use it in the study (teaching) of linear programming.

Figure 23. Program layout.

LIPS provides sensitivity analysis procedures that allow us to study the behavior of the model when you change its parameters, including: analysis of changes on the right side of the constraint, analysis of changes in the coefficients of the target function, analysis of changes in the column/row technology matrix. Such information can be extremely useful in the practical application of LP models.

LIPS provides goal programming methods, including lexicographic and weighted GP methods. Goal programming methods are designed to solve multi-purpose optimization problems.

Main components of the program:

1) Client area of the main window, contains child windows;

4) Status bar contains simple notes on the purpose of the main menu items and toolbar items;

5) Sub-window contains the definition of the model or the results of the program (report).

Use the LIPS >> Solve Model menu to start the solution process.

The Solver model has two modes of operation: basic and advanced. In the basic mode (which is suitable for learning the simplex method) LIPS provides not only the answer, but also a detailed solution process as a series of simplex tables. At each iteration, the output includes: the corresponding simplex table, the variable to be made basic, the variable outside the basic set, etc. The form of the computer solution simulates the process of manual problem solving (artificial basis, intelligent selection of the initial basis, fractions, etc.).

In advanced mode  , LIPS provides a set of methods for solving large-scale problems: a modified primal and dual simplex method based on LU-decomposition, branching, and constraint method for MILP.

Sensitivity analysis allows us to study the behavior of the model when you change its parameters.

LIPS provides the following types of sensitivity analysis:

• Analysis of changes on the right side of the constraint;

• Analysis of changes in the coefficients of the goal function;

• Analysis of changes in the column of the technological matrix;

• Analysis of changes in the order of the technological matrix.

This Components and Libraries program is available in English. It was last updated on May 16, 2022. Linear Program Solver is compatible with the following operating systems: Linux, Mac, Windows.

The company that develops the Linear Program Solver is konobey. The latest version released by its developer is 1.11.0.

Example 4.1. Clicking on the green cross will open a lips model where we will enter the maximum values of the function. In the following lines, we will add the restrictions we want. After entering the value (Figure 24),

max: x1 + x2;

row1: 4 * x1 − x2 ≤ 8;

row2: 2 * x1 + x2 ≤ 10;

row3: −5 * x1 + 2 * x2 ≤ 2.

The next step is to get the next solution, that is LIPS report or LIPS Linear programming report which looks as follows. We will show it in several Figure 25 and Figure 26.

From the above few pictures, we have shown the way of solving in a few steps through the program.

Example 4.2. (Figure 27)

min: 40 * x1 + 45 * x2 + 60 * x3 + 50 * x4;

68 * x1 + 72 * x2 + 80 * x3 + 90 * x4 > 76,000;

35 * x1 + 35 * x2 + 30 * x3 + 20 * x4 < 30,000;

x1 + x2 + x3 + x4 = 1000;

x1 < 700;

x2 < 600;

x3 < 500;

x4 < 300;

Figure 24. layout when entering values.

Figure 25. Report start and Iterations 1 and 2.

We get the following solution Figures 28-32, i.e. LIPS report or LIPS Linear programming report which looks like this:

Figure 26. Report Iteration 3 and results.

Figure 27. Layout when entering values.

Figure 28. Report start and Iteration 1.

(a) (b)

Figure 29. (a) Report Iterations 2 and 3; (b) Report Iterations 4 and 5.

In the previous two examples, using the program, we saw how to solve problems from linear programming when the maximum and minimum values of the function are given by given constraints. With the tabular presentation, we expand every step in solving such complicated tasks when it comes to linear programming.

Figure 30. Report Iteration 6.

Figure 31. Report Iteration 7.

Figure 32. Report results.

7. Discussion and Conclusions

The main goal of this paper was to show how much difference there is between the existence of advanced technology and intelligent system and the traditional way of application that existed until a few years ago. With the development of technological aids, our life has become much easier and with much less time, an increasing number of programs are available that can solve the most demanding problems in the best way.

We are witnessing the ruble of the economic crisis, the work that occurred in Ukraine, and the fear of all that there is a lack of food primarily wheat and other foodstuffs, this assessment of the study through such programs can be of great benefit to us as we have already in the introductory part, they stated that the very way of applying linear programming arose from the need in the age of economic crisis and war events many years ago.

In addition, I would like to mention that technological advances have made it easier in terms of mathematical problems that were not available and which required a lot of strength and will, and desire to reach the goal,

I hope that this small contribution will help pupils and students to take advantage of our recommendation and to use intelligent systems as much as possible and apply them in everyday practice and life.

NOTES

1http://en.wikipedia.org/wiki/Fourier-Motzkin_elimination.

Conflicts of Interest

The authors declare no conflicts of interest regarding the publication of this paper.

  Naser, S.S.A. (2016) ITSB: An Intelligent Tutoring System Authoring Tool. Journal of Scientific and Engineering Research, 3, 63-71. https://www.semanticscholar.org/paper/ITSB%3A-An-Intelligent-Tutoring-System-Authoring-Tool-Naser/cf884c79221e775bcb069c168ba94ec72fa42fda  Čordaš, R. (2014) Linear Programming and Applications. http://www.mathos.unios.hr/~mdjumic/uploads/diplomski/%C4%8COR03.pdf  Miloševiċ, V., Nenadoviċ, R., Ivoviċ, M. and Simiċ, K. (2000) Mathematics with a Collection of Problems for the Third Grade of Secondary School. Institute for Textbooks and Teaching Aids, Belgrade, 180-198.     +1 323-425-8868 customer@scirp.org +86 18163351462(WhatsApp) 1655362766  Paper Publishing WeChat 