Simplex Algorithm

11232023, 06:35 AM
Post: #45




RE: Simplex Algorithm
(11232023 01:23 AM)ftneek Wrote: Just so it's clear, simplex_core now requires canonical form to use while simplex2 allows for standard form input, correct? so simplex2==current simplex_core in source code, and changing the call to simplex2 + updating the output for the current tests should cause them to pass. Yes to all. Quote:I thought you said in one comment that simplex_int would use the simplex() wrapper but I don't think I see that. That was in version 4, but switched back in version 5, matching exactly your simplex_int(). The reason is again to simplify updating your current tests. My preference is simplex_int() using simplex(a, [art=0]) wrapper. It is faster (simplex wrapper already confirmed unit columns, thus no pivot1 calls), and less error prone (I had machine lockup many times, inputting wrong bv values), and less typing to enter problem. Quote:Last, how come you added the plane cutting algorithm again inside simplex_le? simplex_int() is not that user friendly, with more arguments required than core! I moved simplex_int details into simplex_le(), and not use simplex_int() anymore. 2nd reason is efficiency. Unlike simplex() wrapper, which check for unit columns for pivots, simplex_le does not need all that. It does not even need to check, because it build the identity matrix! The matrix is in canonical form, and does not need to go thru simplex2() again. Also, simplex_le() does not use art/ign variables, code should be much cleaner coded here. Also, with '=' constraints, matrix produced (less slack vaiables, 0 art variables) is smaller than simplex_int(). Most important of all, less typing to input problem! No more filling out identity matrix, and counting where the 1's are, for bv. Especially so after I had to pull artrow outside of simplex_core. // lpsolve(2x+5y,[3xy=1,xy<=5],assume=nonnegint) > simplex_int([[3,1,0,1,1],[1,1,1,0,5],[2,5,0,0,0],[0,0,0,1,0]],{4,3},4,1,0,{1,2}) > simplex_le([[3,1,1],[1,1,5],[2,5,0]],1,[1,2]) 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)