 Basically let me introduce, I am Akshay, he is Pranav, we will cut short according to surf. So basically what we are here to do, what we are here to do is optimization, we are working on the optimization toolbox. So what our exact job was here, let me brief you through with what we have done. So our job was to make a solver in Sylab, make a function in Sylab which will solve mixed integer linear programming and mixed integer non-linear programming problems. So what mixed integer linear programming stands for is. So there is a linear equation and in this equation we have some constraints where there will be some constraints which will be given by a matrix A and we will give a matrix B, there will be some equality constraints, we will give bounds on each variable and now what different in our program, what different in our functions is we have to restrict some of the variables to be integers and not real numbers or not non-integers. So if we want to restrict some numbers to be integers, we have to provide that data input differently. So basically mixed integer linear programming solves this equation and for the objective function we have to find a maximum or a minimum value, that is what our program for integer linear programming does. So basically what CBC does is, so we have linked a library named CBC, CBC library is for mixed integer linear programming. Now we will show you the analogous function in MATLAB for the same is integer linear programming int lintprog. What we have implemented is CBC int lintprog for Sylab. Now we have tested the function, we have used the function and we have found similar results for different, so this is one problem which we have coded. So this is a .m file which we have ran on MATLAB. So this is directly from the MATLAB's main site. So this is the function f which we need to minimize. So integer constraint 2 states that the variable x2 has to be integer and constraint to those conditions that minus x1 minus 2x2 should be less than 14, less than equal to 14, minus 4x1 minus x2 should be less than equal to 33, 2x1 plus x2 should be less than equal to 20. So these are the conditions and with the given conditions the constraint is integer constraint of second variable should be integer. So when we ran the file on MATLAB we got this output. So this is the output which we got on MATLAB. So we can see that the second number is an integer according to this and the function value or the minimum value which we had to find was 59. Now for the same we have written a .sei code and now we will show you how our function works. So basically this is the code, same thing, same function, same integer constraints a, b and we will pass some extra parameters. If we don't want to pass parameters we can put our list, maybe something of that sort and then after that we run the function so we get the same output, we can see. So we have calculated everything apart from the points, apart from the value we have also tried to calculate relative gap, absolute gap, number of nodes used, number of visible points, number of iterations, constant violation and the message that optimal solution is found. So it's at 6.5 and 7 and the function value is 59. So it is same to what we get in MATLAB. So we have provided in this function, we have overloaded this function. So basically our job was to take input from CILAP, do error checks on it, convert it to the format which the C++ library can understand. How many such functions you have tested? Sir we have three. No, no, no, not you have three, go back, you exact something, no? Yes. Yes, so okay. You are a replacement for that CBC integer line program. Yes. Your specification is that CBC integer whatever that linear program should be equal to MATLAB integer linear program function. Yes. It should behave the same way. Yes. That is your specification. Yes. Correct? Yes. This particular thing has been tested with how many inputs? So we have used around 24 error checks if we give integer constraints to be a non-variable negative number. How many test cases have you run which show exactly same result on this and this? Sir around 10 or 14. Okay fine, 10 or 14. In which way did you generate the 10 or 14? Sir we found, so these examples are very specific, so we need to find these examples from a website which has mixed integer linear programming problems. So for error checks we can put random data, for error checks we can put garbage values and we can, for proper examples we have used a site, we have found examples online, we have ran it on both the systems and we have checked it for 10. So that is working example? Yes. Okay, error code, 10 by 10 to 14 includes error? No sir, error codes are written, so we have checked error codes on our own. So we are not counting error checks in our 10 to 14. The integer int whatever that MATLAB that also produces the same errors? Yes sir. Not exactly the same message but our system will tell you. Why not exactly the same message? Copyright issue by MATLAB, we cannot actually... Error message there is no copyright. What do you mean? You are wrong. I cannot say you are wrong because MATLAB says you are wrong. Sir we can say this error has been found but we cannot copy the same message that MATLAB wrote. That is exactly what I say, you are wrong is MATLAB message. Does that stop everybody from saying you are wrong? Sir, we cannot argue with MATLAB. No, there is no question of arguing with MATLAB. If MATLAB wants to skylab, then they have to screw to them that you are wrong is my copyright. Nobody else in the world can say you are wrong. There is no such copyright for error message, please. Okay. Cannot have a copyright for error message. Sir, but there is no issue in changing the message. It doesn't matter. You show me, otherwise the message will have to say you are supposed to reproduce That is copyright violation. Copyright violation by copying their copyright. And then you say error message I cannot give. Sir, we are not copying their function. We are trying to replicate what they have done. So we have open source libraries. What is that? Same input, same output. Okay. Except error message I will not give. What is this nonsense? We have run a error script. Right. So it says something. I agree. You are done enough testing. Next column. Yes. So this function runs fine. So also what interesting thing about this function is we have provided. All right. So there was just a MPS file which is available. So we can run the MPS file as well. We have overloaded the function in Sylab. So, okay. Not an issue. Have you done anything more than A? Yes, sir. We have also included one more library, Bohnman. Bohnman is for mixed integer non-linear programming. So now what non-linear programming is in this mixed integer quadratic programming. So this is the equation where this is the Haitian. This is the function. These are the constraints again. And again, for integer constraint, we have passed this thing. So this is a completely different library. And now we have written a function in QPIP op. So there's no analogous function in MATLAB. So MATLAB doesn't solve these kind of problems. So this is something very interesting. And we will... Don't MATLAB in writing that when you solve it, you cannot give my error message. And then write to a wrong. And MATLAB cannot say a word. So but in development, it's okay to stay away from issues, right? No, that's okay. Okay. So... You've done something which MATLAB doesn't have and you have copyrighted it. So this function... They have to say that they owe it to you. So MATLAB cannot technically claim copyright on us because we are open source. No. But when they write that function, they have to say that the functionality has been derived from Akshay Mitraani. All right. So this is again... A library has been linked. We have done the same thing for this. We have linked it with Sylab. We take input, push the arguments to C++ code, generate necessary error messages if there are any, or return the output if it's optimal, return the messages how it has been solved and with all the constraints and everything. So we can show you and we can run more examples if you want to. So also for this function, if there are advanced users who use Bornmin for their regular purposes, they can add a .opt file which is an additional feature. So they can give extra commands, extra advanced user-specific commands. So it's building the library. It's generating help. So we have generated help and proper documentation for how you can call the function, what are the exact routines for calling the function. So this is for int QPIP opt. We are not giving any integer constraints right now. Status is zero. That means it's optimal solution, function value, where it is found, show the help. So all right. So this is basically what optimization toolbox is for. Optimization toolbox does this thing and... Yes. Only one thing is that he told, really this is a point to be noted that we have copied the function. No, we haven't. So what I'm saying, the functionality has been copied. So I may have expected that your functionality may be having something different taste than the MATLAB. Maybe the sequence of the variable passing is different. Maybe the output has got one more parameter available, so that it becomes the indigenous silab identity, rather than saying that we have the same functionality rather than like MATLAB. So the philosophy of MATLAB is that we want to make people switch from MATLAB to silab. We know all this thing. So we are talking something different. We are not here to compare silab MATLAB. But I'm saying that what he has raised the issue that the functionality is similarly putting, we may have put some plus. And then we may have got the better thing than the MATLAB. We should not say that we have similar. We have said we have better. The integer linear programming is not MATLAB's copyright. It is a pure mathematics. And the result is going to be same. Two plus two is going to be four. Either it is a MATLAB silab or whosoever on the earth, two plus two is going to four. Two plus two is five. I can say you are wrong. You may not be equal to four. So this is what our exact work was. So if anybody wants to check out the work, they can go to our GitHub link and they can contact us later on if they want to know more. Thank you.