日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数学规划求解器lp_solve超详细教程

發布時間:2023/12/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数学规划求解器lp_solve超详细教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

最近小編學了運籌學中的單純形法。
于是,很快便按奈不住跳動的心。
這不得不讓我拿起紙和筆思考著,
一個至關重要的問題:
如何用單純形法裝一個完備的13?

恰巧,在我坐在圖書館陷入沉思的時候,
一位漂亮的小姐姐靠過來,
說:“同學,你是在看線性規劃嗎?
你能幫我看看這道題該怎么解好嗎?”

納尼?還真是瞌睡來了送枕頭。
但是,盡管心里萬馬奔騰,
還是要裝作若無其事的樣子,蛋蛋一笑。
“這個啊,簡單!讓我來算算。”

但是一拿到題目之后,掃了一眼。
驚得差點沒把筆吞下去。
這……城里人都這么會play的嗎?
我*,25個變量。
看著那一堆約束條件,
看著這堆變量x1,x2,x3,…,x25。
總感覺,這次真的是玩脫了。

用Table?開什么國際玩笑,
且不說這得算到猴年馬月,
在這期間如果搞錯一個數,
那簡直比吃了老壇酸菜牛肉面還酸爽。

用C++,
寫個Simple algorithm用電腦跑一跑?
但是,像小編這種,
上不知虛函數,下不曉純虛函數,
左不清explicit,右不明volatile。
連虛函數表都說不清道不明的小白,
打個simple algorithm的拼寫還差不多。

氣氛陷入了尷尬的沉默,
沉默是今晚的康橋。
在我快急哭了的時候,
小姐姐卻淡淡一笑。

“解不出來嗎?”
“嗯……這個是有點麻煩。”
“哈哈~解不出來也沒關系啦。
哎,學弟你想考托福雅思嗎?”
小姐姐話鋒一轉。“嗯哼???”
“我知道有幾家托福雅思的培訓機構,
那里的老師很厲害,
你可以了解一下哦。”
“……”
“……”

不過話說回來,
對于復雜的線性規劃問題,
特別是變量很多的那種,
有什么辦法呢?
難道真的要親自擼一遍單純形法?
那你就真的是out了。

今天給大家介紹一款神器:lpsolve
一款狂拽炫酷吊炸天阿姆斯特朗回旋加速棒棒的神器。

欲下載本文相關的代碼及算例,請關注公眾號【程序猿聲】,后臺回復【lpsolve】不包括【】即可

Part1

科普篇

lpsolve是什么?

lpsolve是sourceforge下的一個開源項目,它的介紹如下:
Mixed Integer Linear Programming (MILP) solver lp_solve solves pure linear, (mixed) integer/binary, semi-cont and special ordered sets (SOS) models.lp_solve is written in ANSI C and can be compiled on many different platforms like Linux and WINDOWS

它的特點有:

  • Linear and Integer programming solver
  • Sensitivity analysis
  • Very strong API with many programming language examples
  • IDE
  • Open source
  • Pure C code
  • Windows, Unix, Linux, Mac OSX
  • 32 and 64 bit
  • Also precompiled binaries provided

它是一個混合整數線性規劃求解器,可以求解純線性、(混合)整數/二值、半連續和特殊有序集模型。并且經過實際驗證,有極高的求解效率。

應用領域:科學與研究,高級用戶終端,程序開發等

開發語言:C

應用平臺:可應用于Linux和WINDOWS等所有平臺。

相關資源sourceforge主頁:http://sourceforge.net/projects/lpsolve/?source=directory

有關lpsolve的所有資源都可以在這個主頁上找到。
包括本文后面介紹的所有文件。

有關lpsolve的詳細說明文檔:http://web.mit.edu/lpsolve/doc/

Part2

入門篇

簡單上手

看完了上面的介紹,相信大部分小伙伴還是一臉懵逼。說了這么多牛逼,轉了半天,還沒告訴我怎么用呢!(汗)

小編也不指望大家能耐下心來好好去讀那讓人頭大的英語說明文檔了。今天,本編就帶領大家一步一步上手這個神器的求解器……

說到這里,可能有小伙伴又不樂意了,不會又要擼代碼吧?呃……不擼代碼是不可能了,這輩子都不可能了。

好在,天無絕人之路,lpsolver也提供了一個簡易的IDE(別問我什么是IDE。IDE就是集成開發環境Integrated Development Environment ),提供給像小編這種小白使用。下面就給大家慢慢道來。

LPSolve

IDELPSolve

DE可謂是大大方便了各位新手朋友了。它的界面還算友好,功能十分強大。

界面如下:

它的介紹如下:
The LPSolve IDE (Integrated Development Interface) is a very user friendly Windows interface to the lpsolve API. All functionality of lpsolve can be accessed via a graphical and very user friendly application.

Many thanks to Henri Gourvest for making this nice interface to lpsolve and making it available to the community.

它的幾個特點如下:

  • Everything is graphical and mouse controled
  • Enter your lp model in all supported formats and even via an XLI interface (See External Language Interfaces)
  • Convert your lp model from any supported format to another supported format and even via an XLI interface (See External Language Interfaces)
  • Very user friendly editor to enter/change the model with syntax highlight.
  • Syntax checking of the model
  • Solve the model
  • See the results in grids
  • Control every possible lpsolve option (tolerances, presolve, scaling, …)
  • View the matrix in grids
  • Export model to HTML, RTF, LaTeX output
  • Export matrix to CSV, HTML, RTF output
  • Export results to CSV, HTML, RTF output
  • Show statistics about the model.

…只需要把需要求解的線性規劃問題輸入到求解器里面,然后點一下綠色的run按鈕,就能馬上出結果了。

如下面所示:

關于x,y的取值和目標最優值已經求出來了。還可以進行靈敏度等相關分析:

上面對應每個約束的條件的影子價格,以及變化范圍等等一應俱全。此外,lpsolveIDE還提供了很多選項,大家根據自己的需要勾選相應的功能即可。

IDE的使用很簡單,在這里不再詳細說明了。另外輸入語法格式等問題,可以點下面的鏈接查看詳細說明:http://web.mit.edu/lpsolve/doc/
在左側列表定位到lp file format 即可。

另外,lpsolve還支持其他求解器的語法格式。具體有以下:

  • MPS file format
  • CPLEX lp file format
  • LINDO lp file format
  • GNU MathProg file format
  • LPFML XML file format

具體說明也可以點擊上面提供的鏈接,左側定位到
Formulation of an lp model in lpsolve 即可。

怎樣?是不是很神奇?

Part3

進階篇

MPL下調用lpsolve

有些同學問我MPL是什么,我……,MPL就是Mathematical Programming Language 數學編程語言。lpsolve支持很多數學編程語言,有:

  • AMPL
  • MATLAB
  • O-Matrix
  • Sysquake
  • Scilab
  • Octave
  • FreeMat
  • Euler
  • Python
  • Sage
  • PHP
  • R
  • Microsoft Solver Foundation

礙于文章篇幅等原因,小編選取幾種常用的數學編程語言,來給大家演示怎么在程序里使用lpsolve求解相關線性規劃問題。

matlab下使用lpsolve環境配置在sourceforge網站(https://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/)

下載相應系統所需的文件,如需配置matlab中的lpsolve則下載xxx_dev_win64/32以及xxx_MATLAB_exe_win64/32,不過在此之前你需要先確認自己的操作系統是多少位的,一般來說都是64位的Windows 10操作系統了。 如圖所示:

32位系統請下載這兩個文件:

64位系統請下載這兩個文件:

由于小編的電腦是64位win 10系統,所以下面的演示都是基于64位Windows系統的演示。
將下載的兩個文件夾解壓:

先進入文件夾lp_solve_5.5.2.0_MATLAB_exe_win64:

將解壓后…\lp_solve_5.5.2.0_MATLAB_exe_win64\bin\win64目錄下的mxlpsove.mexw64拷貝到…\lp_solve_5.5.2.0_MATLAB_exe_win64根目錄下,如圖所示:

注意:如果系統是32位的,則將mxlpsolve.dll文件一同拷貝到根目錄下。
下面設置 matlab 的 path 變量,使其能搜索到 lp_solve_5.5.2.0_MATLAB_exe_win32 目錄,在 命令行窗口中輸入: pathtool,并添加剛剛解壓設置好的lp_solve_5.5.2.0_MATLAB_exe_win32 目錄到 path 中,保存。設置如下圖:

這時心急的小伙伴感覺打開MATLAB運行一下,結果還是會出錯。會提示:

這下哦豁了。心急吃不了熱豆腐,我們還需要在做一步工作。在之前下載的lp_solve_5.5.2.0_dev_win64文件夾中找到lpsolve55.dll文件,

然后在matlab命令行窗口輸入“!path”命令 (注意,不是 path 命令,前面多了個英文狀態下的感嘆號) ,輸出結果包含一堆路徑:

PATH=C:\Program Files\MATLAB\R2014b\bin\win64;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;…..(此處省略一萬字)…..;C:\Users\xuesheng\AppData\Local\GitHubDesktop\bin;

其中每個目錄都是以分號隔開的。我們lpsolve55.dll文件拷貝到任意一個目錄下都可行的,如果不可行,那原因很有可能是(敲黑板!)因為下載的.dll文件版本不是對應64位的,如果是按照第一步下載的dev壓縮包,那應該是不會出問題的。

在 matlab 中 輸入 mxlpsolve 命令進行測試,如果輸出如下信息表明配置成功。則可以愉快的運行啦~:
mxlpsolve MATLAB Interface version 5.5.0.6using lpsolve version 5.5.2.0Usage: [ret1, ret2, …] = mxlpsolve(‘functionname’, arg1, arg2, …)

至此,環境配置完成。

如何調用

以一個具體的例子說明用lpsolve求解數學規劃問題的方法。

假設我們要用matlab解決如下線性規劃問題:

max x1 + 3x2 + 6.24x3 + 0.1x4
s. t. 78.26x2 + 2.9x4 >= 92.3

0.24x1 + 11.31x3 <= 14.8
12.68x1 + 0.08x3 + 0.9x4 >= 4
x1 >= 28.6
x4 >= 18
x4 <= 48.98

matlab語句如下:

1>> lp=mxlpsolve('make_lp', 0, 4);2>> mxlpsolve('set_verbose', lp, 3);3>> mxlpsolve('set_obj_fn', lp, [1, 3, 6.24, 0.1]);4>> mxlpsolve('add_constraint', lp, [0, 78.26, 0, 2.9], 2, 92.3);5>> mxlpsolve('add_constraint', lp, [0.24, 0, 11.31, 0], 1, 14.8);6>> mxlpsolve('add_constraint', lp, [12.68, 0, 0.08, 0.9], 2, 4);7>> mxlpsolve('set_lowbo', lp, 1, 28.6);8>> mxlpsolve('set_lowbo', lp, 4, 18);9>> mxlpsolve('set_upbo', lp, 4, 48.98); 10>> mxlpsolve('set_col_name', lp, 1, 'COLONE'); 11>> mxlpsolve('set_col_name', lp, 2, 'COLTWO'); 12>> mxlpsolve('set_col_name', lp, 3, 'COLTHREE'); 13>> mxlpsolve('set_col_name', lp, 4, 'COLFOUR'); 14>> mxlpsolve('set_row_name', lp, 1, 'THISROW'); 15>> mxlpsolve('set_row_name', lp, 2, 'THATROW'); 16>> mxlpsolve('set_row_name', lp, 3, 'LASTROW'); 17>> mxlpsolve('write_lp', lp, 'a.lp'); 18>> mxlpsolve('get_mat', lp, 1, 2) 19 20ans = 21 22 78.2600 23 24>> mxlpsolve('solve', lp) 25 26ans = 27 28 0 29 30>> mxlpsolve('get_objective', lp) 31 32ans = 33 34 31.7828 35 36>> mxlpsolve('get_variables', lp) 37 38ans = 39 40 28.6000 41 0 42 0 43 31.8276 44 45>> mxlpsolve('get_constraints', lp) 46 47ans = 48 49 92.3000 50 6.8640 51 391.2928

如果需還要其他功能,請參考包含完整API文檔的網址(重要,推薦看!!!):http://web.mit.edu/lpsolve/doc/MATLAB.htm

從以上的過程我們看到用 lpsolve 建立一個規劃問題的代碼還是夠麻煩的,想必你剛開始看到上面那些語句的時候,也是一頭霧水。不要著急,對于這類簡單的問題,還有更簡便的方法。

lpsolve 為我們提供了一種簡化的途徑,我們注意到以上文件列表中有一個lp_maker.m和lp_solve.m文件。lp_maker.m文件的功能是創建一個(混合整數)線性規劃問題,調用格式類似于其他matlab自帶的優化工具箱,你只需要為它提供f、A、b、l、u幾個矩陣,它會自動為你實現創建模型、設置目標函數、添加約束的過程

從以上的過程我們看到用 lpsolve 建立一個規劃問題的代碼還是夠麻煩的,想必你剛開始看到上面那些語句的時候,也是一頭霧水。不要著急,對于這類簡單的問題,還有更簡便的方法。

Python下使用lpsolve

環境配置

lpsolve目前最新也只能支持到Python2.6版本而已了,所以下面的演示也是基于Python2.6版本的,系統是64位Windows10系統。

首先大家根據自己的系統版本下載相應的包。

然后在電腦上把Python2.6版本也給裝上。

把剛剛下載的包解壓出來,找到如下文件,雙擊安裝,然后一路向西即可。(注意,此步要先安裝好Python2.6版本。)


最后還有一步,就是把之前lp_solve_5.5.2.0_dev_win64包下的dll文件復制到C:\Windows\System32目錄里面。

復制到C:\Windows\System32:

最后,打開Python2.6(如果電腦裝了多個Python,注意打開的版本。),輸入:

>>> from lpsolve55 import *
>>> lpsolve()
如果顯示以下信息,則大功告成:

至此,環境配置已經完成。
Python調用

在Python下,lpsolve 同樣為我們提供了一種簡化的途徑。直接舉個例子吧。

假如我們要用Python解決以下線性規劃問題:

max 4x1 + 2x2 + x3
s. t. 2x1 + x2 <= 1
x1 + 2x3 <= 2
x1 + x2 + x3 = 1
x1 >= 0
x1 <= 1
x2 >= 0
x2 <= 1
x3 >= 0
x3 <= 2

從中我們可以得出幾個相關矩陣:

f = [4, 2, 1]
A = [[2, 1, 0], [1, 0, 2], [1, 1, 1]]
b = [1, 2, 1]

注意到我們的單個變量約束并沒有放進條件約束里面,lp_solve 可以設置單個變量的界限,它們是:

l = [ 0, 0, 0]
u = [ 1, 1, 2]

現在在Python里輸入下面代碼:

1>>> f = [4, 2, 1] 2>>> A = [[2, 1, 0], [1, 0, 2], [1, 1, 1]] 3>>> b = [1, 2, 1] 4>>> l = [ 0, 0, 0] 5>>> u = [ 1, 1, 2]

然后開始求解我們的問題:

1>>> from lpsolve55 import *2>>> from lp_maker import *3>>> lp = lp_maker(f, A, b, [-1, -1, 0], l, u, None, 1, 0)4>>> solvestat = lpsolve('solve', lp)5>>> obj = lpsolve('get_objective', lp)6>>> print obj72.58>>> x = lpsolve('get_variables', lp)[0]9>>> print x 10[0.5, 0.0, 0.5] 11>>> lpsolve('delete_lp', lp)

關于Python下使用lpsolve的更多說明,請訪問:http://web.mit.edu/lpsolve/doc/ ,

左側定位到Using lpsolve from Python即可。

Part4

實戰篇

高級編程語言使用lpsolve

上面講了幾種MPL怎么調用lpsolve,可能又有部分小伙伴不樂意了。咱平時擼的都是C/C++、Java這等高級語言的代碼啊,哪里用過什么MATLAB什么的。別急,萬能lpsolve怎么可能不支持高級編程語言呢!下面小編就一一為各位看官道來。

lpsolve支持以下幾種編程語言:

  • C/C++
  • Java
  • Delphi, Free Pascal
  • VB, VBScript
  • http://VB.NET
  • C#.NET

官方介紹如下:

In several cases it is required that the solver is called from within the programming language in which an application is build. All the data is in memory and no files are created to provide data to the solver. lpsolve has a very rich, yet easy, API to do this.

礙于文章篇幅,我們還是挑幾個大家常用的語言來講解吧~。

C/C++使用lpsolve

在C/C++下配置lpsolve確實有點麻煩,所以,這里大家一定要看仔細,操作仔細了。每一步都不能出錯,不然很難把程序編譯出來的。

首先,大家找到去在sourceforge網站(https://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.5/)把這個文件下載下來:

為什么是下載32位的文件呢,因為我們編譯的程序是x86程序,所以用的是32位的鏈接庫,下載后解壓出來,得到lp_solve_5.5.2.5_dev_win32 文件夾:

小編用的編譯器是微軟的Visual Studio 2017。無論什么編譯器,都需要確保以下幾點才能運行成功:

  • 添加頭文件目錄
  • 添加庫文件目錄
  • 鏈接時把庫文件添加進去
  • 下面小編以自己的編譯環境為例,配置一下。

    打開Visual Studio 2017,新建一個空項目,名字隨便寫,這里寫的是lptest。

    然后在右側解決方案資源管理器里面-源文件里面添加一個.c文件。代碼先別寫,后面會給出。

    配置頭文件目錄,在右側解決方案資源管理器里面找到項目名稱,右鍵屬性:

    包含目錄庫目錄里面將我們的lp_solve_5.5.2.5_dev_win32文件夾路徑添加進去,這個文件夾包含了程序所需的頭文件庫文件目錄

    最后,就是在程序開頭,將這一句話添加進去,表示鏈接目標文件時,將lpsolve庫給鏈接進去。否則,編譯器將找不到函數的定義而報一堆錯誤。

    可能,這樣設置一開始代碼還是不能編譯成功,小編在好幾臺電腦上測試了,不知道是不是編譯器的BUG。大家設置好以后生成提示未定義標識符之類的,請關掉編譯器,重新打開,多試幾次。

    至此,環境配置完成。可以開始寫代碼了。下面一個代碼演示了求解一個線性規劃模型的示范,注釋也說得足夠清楚了,大家直接看代碼吧。

    1#include "lp_lib.h"2 # define WIN323#pragma comment(lib, "lpsolve55.lib")45int demo()6{7 lprec *lp;8 int Ncol, *colno = NULL, j, ret = 0;9 REAL *row = NULL;1011 /* We will build the model row by row12 So we start with creating a model with 0 rows and 2 columns */13 Ncol = 2; /* there are two variables in the model */14 lp = make_lp(0, Ncol);15 if (lp == NULL)16 ret = 1; /* couldn't construct a new model... */1718 if (ret == 0) {19 /* let us name our variables. Not required, but can be useful for debugging */20 set_col_name(lp, 1, "x");21 set_col_name(lp, 2, "y");2223 /* create space large enough for one row */24 colno = (int *)malloc(Ncol * sizeof(*colno));25 row = (REAL *)malloc(Ncol * sizeof(*row));26 if ((colno == NULL) || (row == NULL))27 ret = 2;28 }2930 if (ret == 0) {31 set_add_rowmode(lp, TRUE); /* makes building the model faster if it is done rows by row */3233 /* construct first row (120 x + 210 y <= 15000) */34 j = 0;3536 colno[j] = 1; /* first column */37 row[j++] = 120;3839 colno[j] = 2; /* second column */40 row[j++] = 210;4142 /* add the row to lpsolve */43 if (!add_constraintex(lp, j, row, colno, LE, 15000))44 ret = 3;45 }4647 if (ret == 0) {48 /* construct second row (110 x + 30 y <= 4000) */49 j = 0;5051 colno[j] = 1; /* first column */52 row[j++] = 110;5354 colno[j] = 2; /* second column */55 row[j++] = 30;5657 /* add the row to lpsolve */58 if (!add_constraintex(lp, j, row, colno, LE, 4000))59 ret = 3;60 }6162 if (ret == 0) {63 /* construct third row (x + y <= 75) */64 j = 0;6566 colno[j] = 1; /* first column */67 row[j++] = 1;6869 colno[j] = 2; /* second column */70 row[j++] = 1;7172 /* add the row to lpsolve */73 if (!add_constraintex(lp, j, row, colno, LE, 75))74 ret = 3;75 }7677 if (ret == 0) {78 set_add_rowmode(lp, FALSE); /* rowmode should be turned off again when done building the model */7980 /* set the objective function (143 x + 60 y) */81 j = 0;8283 colno[j] = 1; /* first column */84 row[j++] = 143;8586 colno[j] = 2; /* second column */87 row[j++] = 60;8889 /* set the objective in lpsolve */90 if (!set_obj_fnex(lp, j, row, colno))91 ret = 4;92 }9394 if (ret == 0) {95 /* set the object direction to maximize */96 set_maxim(lp);9798 /* just out of curioucity, now show the model in lp format on screen */99 /* this only works if this is a console application. If not, use write_lp and a filename */ 100 write_LP(lp, stdout); 101 /* write_lp(lp, "model.lp"); */ 102 103 /* I only want to see important messages on screen while solving */ 104 set_verbose(lp, IMPORTANT); 105 106 /* Now let lpsolve calculate a solution */ 107 ret = solve(lp); 108 if (ret == OPTIMAL) 109 ret = 0; 110 else 111 ret = 5; 112 } 113 114 if (ret == 0) { 115 /* a solution is calculated, now lets get some results */ 116 117 /* objective value */ 118 printf("Objective value: %f\n", get_objective(lp)); 119 120 /* variable values */ 121 get_variables(lp, row); 122 for (j = 0; j < Ncol; j++) 123 printf("%s: %f\n", get_col_name(lp, j + 1), row[j]); 124 125 /* we are done now */ 126 } 127 128 /* free allocated memory */ 129 if (row != NULL) 130 free(row); 131 if (colno != NULL) 132 free(colno); 133 134 if (lp != NULL) { 135 /* clean up such that all used memory by lpsolve is freed */ 136 delete_lp(lp); 137 } 138 139 return(ret); 140} 141 142int main() 143{ 144 demo(); 145}

    代碼下載請在后臺回復【lpsolve】即可下載。

    最后,還差一步,程序編譯完成以后,運行時可能會提示找不到dll文件。這時候,要回到lp_solve_5.5.2.5_dev_win32文件夾,找到lpsolve55.dll文件。

    將這個文件復制到可執行程序目錄

    終于,我們的程序運行成功了。

    這只是一個非常簡單的例子,關于更多lpsolve接口的使用,請訪問:http://web.mit.edu/lpsolve/doc/,

    左側定位到lp_solve API reference即可。

    Java下使用lpsolve

    環境配置

    在這里,要求的java是64位的JDK。

    首先,大家找到去在sourceforge網站(https://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.5/)把這兩個文件下載下來:


    下載完成以后,分別解壓兩個包,得到lp_solve_5.5.2.5_dev_win64lp_solve_5.5.2.5_java兩個文件夾。然后需要進行下面步驟:

    lp_solve_5.5.2.5_dev_win64文件夾中的lpsolve55.dll

    拷貝到C:\Windows\System32文件下:

    lp_solve_5.5.2.5_java中lp_solve_5.5_java\lib\win64文件夾下的lpsolve55j.dll

    拷貝到C:\Windows\System32文件下:

    在項目中添加相應的jar包。這里我們新建一個演示項目名為lpsolve_test。右擊“lpsolve_test”→選擇Properties,在彈出的對話框左側列表中選擇Java Build Path,定位到Libraries,然后選擇右側的Add Exteral JARs

    在彈出的對話框中,選擇我們之前lp_solve_5.5.2.5_java/lp_solve_5.5_java/lib下的lpsolve55j.jar這個包。


    這樣,就可以愉快使用lpsolve了。

    使用的話,Java和C/C++的API是差不多的。只不過由于Java的面向對象的特性,lpsolve API做了一層包裝,Java和C/C++的API詳細對照可以訪問以下鏈接:http://web.mit.edu/lpsolve/doc/Java/docs/reference.html

    關于C/C++詳細的API可以參考官方說明文檔。訪問:http://web.mit.edu/lpsolve/doc/

    定位到lp_solve API reference即可。

    使用Java調用lpsolve求解混合線性最優化問題,由于lpsolve的說明文檔模糊,僅提供了一個Demo說明如何調用,以及API文檔,并且API文檔說明非常簡陋!不過小編為大家總結了一下使用的具體步驟:

  • 創建LpSolve對象
  • 添加目標函數
  • 添加不等式約束
  • 添加等式約束
  • 設置參數是否為整數(默認為實數)
  • 設置參數的上限值
  • (可選)打印具體的矩陣
  • 進行求解
  • 提取出最優結果
  • 提取出最優結果對應的參數值
  • 下面提供一個比較通用的類:

    1package lpsolve_test;2import lpsolve.*;3import java.util.Arrays;456public class Optimator {7 private static LpSolve problem;8 /**9 * 求解整數規劃問題10 * @param goal 目標函數矩陣,由于LpSolve讀取數組時從下標1開始讀取,數據需從下標1開始填充,0-1的放前面,有上限的放后面11 * @param stIeMatrix 不等式約束方程矩陣,由于LpSolve讀取數組時從下標1開始讀取,內層數據需從下標1開始填充12 * @param stEqMatrix 等式約束方程矩陣,由于LpSolve讀取數組時從下標1開始讀取,內層數據需從下標1開始填充13 * @param stIeRest 不等式約束條件矩陣,每次傳入的是單個數字,不需要從1開始填充14 * @param stEqRest 等式約束條件矩陣,每次傳入的是單個數字,不需要從1開始填充15 * @param ups 上限約束矩陣16 */17 public static void optimate(double[] goal,double[][] stIeMatrix,double[][] stEqMatrix,18 double[] stIeRest,double[] stEqRest,double[] ups) throws LpSolveException{1920 //1、創建LpSolve對象21 problem = LpSolve.makeLp(0, goal.length-1);22 //2、添加目標函數,會從下標1開始讀取!下標1的參數會被忽略23 problem.setObjFn(goal);2425 //3、循環添加不等式約束,外層循環一次代表一個不等式26 if(stIeMatrix!=null){27 for(int i=0;i<stIeMatrix.length;i++){28 //同樣數組的讀取會從下標1開始29 problem.addConstraint(stIeMatrix[i], LpSolve.LE, stIeRest[i]);30 }31 }3233 //4、循環添加等式約束,外層循環一次代表一個等式34 if(stEqMatrix!=null){35 for(int i=0;i<stEqMatrix.length;i++){36 //同樣數組的讀取會從下標1開始37 problem.addConstraint(stEqMatrix[i], LpSolve.EQ, stEqRest[i]);38 }39 }4041 //5、設置參數的整數約束,1代表第一個參數42 for(int i=1;i<goal.length;i++){43 problem.setInt(i, true);44 }4546 //6、設置指定參數的上限值47 for(int i=1;i<=ups.length;i++){48 problem.setUpbo(i, ups[i-1]);49 }5051 problem.printLp();52 //求解53 problem.solve();54 }55 /**56 * 得到最優解57 * @return58 * @throws LpSolveException59 */60 public static double getObjective() throws LpSolveException{61 if(problem!=null){62 return problem.getWorkingObjective();63 }else{64 try {65 throw new Exception("還沒有進行求解!");66 } catch (Exception e) {67 // TODO Auto-generated catch block68 e.printStackTrace();69 } 70 return 0;71 }72 }73 /**74 * 得到最優解對應的變量75 * @return76 * @throws LpSolveException77 */78 public static double[] getVariables() throws LpSolveException{79 if(problem!=null){80 return problem.getPtrVariables();81 }else{82 try {83 throw new Exception("還沒有進行求解!");84 } catch (Exception e) {85 // TODO Auto-generated catch block86 e.printStackTrace();87 } 88 return null;89 }90 }9192//測試93 public static void main(String[] args) {94 try {95 double[][] stIeMatrix = new double[1][];96 stIeMatrix[0] = new double[]{0,1,2,3,4};97 double[] stRest = new double[]{1};98 optimate(new double[]{0,1,2,3,4},stIeMatrix,stIeMatrix,stRest,stRest,new double[]{1,1,5,6});99 System.out.println(getObjective()); 100 System.out.println(Arrays.toString(getVariables())); 101 } catch (LpSolveException e) { 102 // TODO Auto-generated catch block 103 e.printStackTrace(); 104 } 105 } 106}

    欲下載本文相關的代碼及算例,請關注公眾號【程序猿聲】,后臺回復【lpsolve】不包括【】即可

    這是運行結果:

    關于更多Java下lpsolve的使用,請訪問:http://web.mit.edu/lpsolve/doc/ ,左側定位到Using lpsolve from Java即可。

    Part5

    總結

    前面說了這么多,總之,總結起來,使用lpsolve就是以下三種方式:

    • 通過LPSolve IDE編寫模型或者讀取模型文件進行求解。
    • 使用數學編程語言創建模型,調用lpsolve求解。
    • 使用高級編程語言創建模型,調用lpsolve相關API進行求解。

    至此,關于lpsolve的已經差不多講解完了。這么長的文件,想必各位小伙伴看到這里也不容易。可能還有很多細節沒有講解,要想面面俱到的小伙伴只能去看官方的doc了。

    Part6

    欲下載本文相關的代碼及算例,請關注公眾號【程序猿聲】,后臺回復【lpsolve】不包括【】即可

    ?

    總結

    以上是生活随笔為你收集整理的数学规划求解器lp_solve超详细教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    日韩视频在线不卡 | 91精品国产欧美一区二区成人 | 99久久久久久久 | 亚洲精品色视频 | 日韩欧美国产成人 | 久久免费视频5 | 国产精品大全 | 亚洲精品在线观看的 | 亚洲精品成人免费 | 韩日av一区二区 | 天天拍天天色 | 亚洲人人爱 | 911av视频| 色综合国产 | 日韩av一区二区在线播放 | 91漂亮少妇露脸在线播放 | 久久精品999 | 亚洲精品久久久久999中文字幕 | 久久久久一区二区三区四区 | 午夜在线国产 | 久久少妇 | 久久久综合电影 | 国产中文字幕久久 | 91成人在线视频 | av成人免费在线观看 | 欧美性极品xxxx做受 | 国产青春久久久国产毛片 | 国产日韩欧美中文 | 精壮的侍卫呻吟h | 夜夜夜精品 | 美女精品在线观看 | 成人中文字幕+乱码+中文字幕 | 精品视频 | 在线观看黄色小视频 | 久久不射电影网 | 国产区av在线| 日韩在线观看av | 免费av片在线 | 婷婷av网| av色网站 | 在线免费黄色av | 久久国产精品影片 | 麻豆精品在线 | 久久9999久久免费精品国产 | 天天综合人人 | 日本动漫做毛片一区二区 | 麻豆你懂的 | 中文字幕一区二区三区四区久久 | 成人av在线观 | 97超碰在线久草超碰在线观看 | 国产视频手机在线 | 欧美国产精品久久久久久免费 | 九九视频免费在线观看 | 成人精品一区二区三区电影免费 | 久久er99热精品一区二区三区 | 91成人精品一区在线播放69 | 91九色蝌蚪视频 | 视频福利在线观看 | 久久综合久久综合这里只有精品 | 亚洲黄色av网址 | 国产精品一区二区三区免费看 | 天天爱天天 | 国产色道| 久久视频精品在线 | 久久精品视频在线看 | 91天天操 | 久久激情精品 | 91九色在线观看 | 天天碰天天操视频 | 欧美久久久久久久久中文字幕 | 中字幕视频在线永久在线观看免费 | 亚洲黄色成人 | 日韩av电影手机在线观看 | 欧美一区二区免费在线观看 | av片一区 | 国产色视频123区 | av三区在线 | 激情综合五月网 | 日韩欧美一区二区三区视频 | 国产亚洲精品久久久久久大师 | 久久a视频 | 天天爱天天操 | 超级碰碰碰碰 | 波多野结衣在线播放一区 | 久久精品一二三区白丝高潮 | 亚洲特级片 | 亚洲综合色播 | 日韩a级免费视频 | 在线观看视频在线观看 | www.久热 | 热re99久久精品国产66热 | 在线小视频你懂的 | av在线免费不卡 | 久久精品久久久精品美女 | 91在线免费播放视频 | 日日天天av | 欧美精品九九99久久 | 欧美国产精品久久久久久免费 | 五月婷婷激情六月 | 久久a久久 | 中文字幕在线观看完整版电影 | 麻豆免费在线播放 | 久久人人爽人人爽 | 日韩手机在线 | 97视频总站| 不卡的av在线播放 | 久久艹欧美 | 免费网站观看www在线观看 | 黄色软件大全网站 | 又爽又黄又无遮挡网站动态图 | 九九视频热| 亚洲激情校园春色 | 亚洲国产精品一区二区久久hs | 精品欧美在线视频 | 韩国av免费 | 欧美性爽爽| 国产一区在线精品 | 精品播放 | 国产成a人亚洲精v品在线观看 | 婷婷在线免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩精品在线观看视频 | 亚洲国产成人在线播放 | 亚洲女欲精品久久久久久久18 | 亚洲女同videos | 操久久免费视频 | 国产无限资源在线观看 | 久久精品成人热国产成 | 高潮久久久 | 国产精品免费视频久久久 | 99国产精品免费网站 | www.夜夜爽| 91亚洲精品久久久蜜桃借种 | 99久久精品免费看国产麻豆 | 久在线| 成片视频在线观看 | 国产一级精品绿帽视频 | 国产一区二区精 | 婷婷精品国产欧美精品亚洲人人爽 | 91精品蜜桃 | 六月丁香婷婷在线 | 国产日本三级 | 亚洲天堂色婷婷 | 在线播放 亚洲 | 久久免费福利视频 | 国产成人精品亚洲日本在线观看 | 亚洲成年人免费网站 | 五月宗合网 | 亚洲精品免费在线 | 亚洲视频每日更新 | 亚洲国产wwwccc36天堂 | 国产精品午夜av | 日韩在线视频观看免费 | 欧美日韩性视频 | 天天综合成人网 | 中文字幕亚洲精品在线观看 | 国产精品久久久久久电影 | free. 性欧美.com | 精品自拍网 | 久久久久国产免费免费 | 丝袜足交在线 | 中文字幕在线观看免费观看 | 五月婷婷丁香在线观看 | 91视频高清完整版 | 91系列在线观看 | 亚洲最快最全在线视频 | 日韩精品不卡在线 | 超碰在线1 | 久久看毛片 | av先锋影音少妇 | 国产一区二区久久久 | 99r精品视频在线观看 | 91免费看黄色 | 国产乱码精品一区二区蜜臀 | 又黄又爽又无遮挡免费的网站 | 欧美日韩免费观看一区=区三区 | 久草在线免费看视频 | 四虎影视精品永久在线观看 | 国产高清视频在线 | 亚洲成av人片在线观看www | 91成人免费在线 | 五月婷婷综合久久 | 国产在线观看你懂得 | 波多野结衣电影一区二区三区 | 中文理论片| 天天草天天草 | 1024手机看片国产 | 九九久久久 | 欧美日韩国产精品一区二区 | 五月婷婷六月丁香激情 | 中文字幕第一页在线视频 | 人人爱天天操 | 九九热精品视频在线观看 | 人人超碰免费 | 在线看一区二区 | 色资源在线观看 | 国产精品久久久久久久久久久久午夜 | 精品一区二区在线免费观看 | 97视频免费在线 | 久久九九精品 | 亚洲免费视频在线观看 | 午夜久久久久久久久 | 亚洲aⅴ在线观看 | 国产一二三四在线视频 | 一区二区三区在线观看免费 | 亚洲另类视频在线 | 五月婷婷在线观看视频 | 不卡的av中文字幕 | 精品毛片在线 | 午夜视频一区二区三区 | 婷婷综合国产 | 亚洲日日夜夜 | 久久久色 | 99久久电影 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 成年人黄色免费看 | 日韩精品中文字幕有码 | 一区二区三区免费在线观看视频 | 国产亚洲精品久久久久久大师 | av夜夜操 | 九九热在线观看 | 久久a级片| 精品一二三区 | 午夜精品久久久久久中宇69 | 国产精品免费观看视频 | 天天干人人干 | 日韩免费av片 | 亚洲国产大片 | 日韩精品免费一区二区三区 | 97超碰在线免费 | 在线有码中文字幕 | 亚洲免费婷婷 | 国产高清久久久久 | 成人黄色片在线播放 | 成人av电影在线 | 日韩精品一区二区三区第95 | 97超碰资源总站 | 欧美视频国产视频 | 免费日韩三级 | 伊人资源视频在线 | 国产精品高潮在线观看 | 欧美a级在线免费观看 | 天天干天天射天天爽 | 96av视频| 伊人中文在线 | 黄色日本免费 | 国产成人精品久 | 69视频在线 | 天天操天天操天天操天天操天天操 | 狠狠色丁香婷婷综合久小说久 | 中文在线免费一区三区 | 天天av在线播放 | 亚洲精品国产综合久久 | 久久综合之合合综合久久 | 久久久久久不卡 | 视频成人永久免费视频 | 婷五月天激情 | 激情五月综合网 | 国产精品成| 中文字幕一区二区三区久久 | 中文字幕在线字幕中文 | 91精品欧美 | 久久av中文字幕片 | 久久人人爽爽人人爽人人片av | 国产精品网红直播 | 欧美一区在线观看视频 | 在线观看岛国av | 国产女人40精品一区毛片视频 | www.伊人网| 97在线精品视频 | 狠狠色丁香婷婷综合最新地址 | 天操夜夜操| 天堂中文在线视频 | 激情久久五月 | 99精品国产视频 | 久久五月天色综合 | 日韩欧美在线免费 | 中文字幕久久精品亚洲乱码 | 亚洲视频在线看 | 人人干人人做 | 精品主播网红福利资源观看 | 视频在线一区二区三区 | 久久97久久97精品免视看 | 在线免费观看的av网站 | 日日干天天射 | 久久这里只有精品视频首页 | 精品国模一区二区 | 亚洲欧美一区二区三区孕妇写真 | 亚洲免费色 | 亚洲欧美日韩一区二区三区在线观看 | 成年人在线免费看视频 | 中文久久精品 | 正在播放国产一区二区 | 国产精品av免费在线观看 | 美女精品网站 | 国产精品手机看片 | 亚洲精品九九 | 我要看黄色一级片 | 成人免费共享视频 | 久久久久久国产精品亚洲78 | 又黄又色又爽 | 天天狠狠 | 182午夜在线观看 | 97超碰免费在线观看 | 久久精品韩国 | 97影视 | 三级a视频 | 国产精品刺激对白麻豆99 | 五月天婷亚洲天综合网精品偷 | 免费在线观看成年人视频 | 欧美综合在线视频 | 国产精品日韩欧美一区二区 | 亚洲欧美日韩一二三区 | 欧美另类xxx | 国产大陆亚洲精品国产 | 久久久久久久久久久综合 | 婷婷五月情 | 国产原创在线视频 | 在线国产91| 91人人在线 | 久久精品人人做人人综合老师 | 涩涩网站在线看 | 99爱精品在线 | 99精品乱码国产在线观看 | 操操操日日日 | 国产亚洲午夜高清国产拍精品 | av怡红院| 亚洲国产福利视频 | 亚洲作爱 | 91精品啪在线观看国产81旧版 | 99精品在线免费观看 | 久久国产精品电影 | 久久国语露脸国产精品电影 | 亚州国产精品久久久 | 久碰视频在线观看 | 黄色大片视频网站 | 国产精品欧美久久久久久 | 国产伦理一区二区 | 中文字幕高清免费日韩视频在线 | 97视频免费播放 | 亚洲精品久久久久www | 一区二区三区在线影院 | 日韩欧美视频一区二区三区 | 国产成人精品久久久久 | 欧美激情综合五月色丁香 | 91九色丨porny丨丰满6 | 精品视频 | 国产片免费在线观看视频 | 亚洲美女免费精品视频在线观看 | 日韩一级片观看 | 日韩中文免费视频 | 欧美日韩国语 | 久久免费视频这里只有精品 | 国产精品18久久久久vr手机版特色 | 亚洲在线精品视频 | 久久久久久久久电影 | 国产成人在线网站 | 韩日在线一区 | 免费黄av| 中文乱幕日产无线码1区 | 一本—道久久a久久精品蜜桃 | 日韩有码在线播放 | 天天操夜夜爱 | 人人玩人人添人人澡超碰 | 日韩免费电影 | 免费av在 | 日韩欧美专区 | 国产亚洲欧美一区 | 五月天天av | 免费在线电影网址大全 | 欧美一级片在线免费观看 | 婷婷色 亚洲| 一区 在线观看 | 黄色av影视 | 狠狠干2018 | 久久全国免费视频 | 免费成人av在线看 | 免费的成人av | 亚洲人精品午夜 | 黄色av影院 | h视频在线看 | 91桃色在线观看视频 | 怡红院久久 | 黄色在线观看免费网站 | 亚洲精品午夜视频 | 欧美va在线观看 | 在线观看中文字幕av | 亚洲精品国产精品99久久 | 久久国色夜色精品国产 | 国产精品亚洲成人 | 国产中文字幕久久 | 国产乱码精品一区二区三区介绍 | 午夜久久成人 | 蜜臀av免费一区二区三区 | 五月花激情 | 五月婷婷,六月丁香 | 中文字幕av一区二区三区四区 | 成人在线观看影院 | 天天色天天射综合网 | 色999视频| 国产精品ⅴa有声小说 | 国产精品国产三级在线专区 | 日本久久久久久科技有限公司 | 亚洲国产精品成人综合 | 综合精品在线 | 天天色天天艹 | 亚洲综合在线观看视频 | 免费av观看网站 | 国色天香在线 | av资源免费观看 | 欧美aaa视频 | 国产精品欧美久久久久久 | 久久久免费国产 | 精品欧美小视频在线观看 | 91成人免费看片 | 欧美日韩国语 | 国产女人40精品一区毛片视频 | www天天干 | 婷婷久久丁香 | 丁香午夜婷婷 | 成人免费xyz网站 | 天天爽人人爽 | 国产伦理久久精品久久久久_ | 成人网中文字幕 | 99免在线观看免费视频高清 | 最近高清中文在线字幕在线观看 | 国产女人18毛片水真多18精品 | 国产大陆亚洲精品国产 | www.亚洲精品 | 精品欧美一区二区精品久久 | 久草精品在线播放 | 最近中文字幕mv免费高清在线 | 四虎影视8848dvd | 久草视频在线资源 | 又黄又爽又刺激的视频 | 国产美女精彩久久 | 国产一在线精品一区在线观看 | 国语精品免费视频 | 国产亚洲欧美精品久久久久久 | 中文字幕亚洲欧美 | 中文字幕在线播放一区 | 亚洲免费永久精品国产 | 日产乱码一二三区别免费 | 日本精品久久久久影院 | 高清国产在线一区 | 欧美性生活免费看 | 波多野结衣动态图 | 97超碰人人澡人人爱 | 久久免费a | 午夜10000| 人人干97| 在线免费观看黄色 | 久久成视频 | 六月丁香综合 | 最近最新最好看中文视频 | 午夜在线日韩 | 成人a大片 | 国产又粗又硬又爽视频 | 精品国产91亚洲一区二区三区www | 国产区免费在线 | 91看片看淫黄大片 | 99久久这里有精品 | 亚洲免费视频观看 | 国产精品网址在线观看 | 亚洲国产免费av | 激情欧美丁香 | 亚洲精品中文字幕在线 | 日韩免费看视频 | a视频在线观看免费 | 久久精品国产亚洲aⅴ | 特级黄录像视频 | 国产亚洲婷婷 | 国产精品网在线观看 | 国产人成免费视频 | 一二三精品视频 | 久久99亚洲精品久久久久 | 日韩精品一区二区三区视频播放 | 97人人视频 | 在线观看视频99 | 国产精品久久久久久久久久免费看 | 中文字幕成人一区 | 国产一区二区三区高清播放 | 一区二区三区免费播放 | 热久久免费国产视频 | 91九色国产 | 久久久综合香蕉尹人综合网 | 99精品国产兔费观看久久99 | 中文字幕乱码一区二区 | 午夜精品久久久久久99热明星 | 中文不卡视频 | 天天躁日日躁狠狠躁av麻豆 | 美女网站在线观看 | 色综合天天色综合 | 伊人资源视频在线 | 日韩理论片中文字幕 | 久久久色| 婷婷在线网站 | 国产成本人视频在线观看 | 欧美aa一级片 | 激情自拍av | 精品国产1区2区3区 国产欧美精品在线观看 | 麻豆国产网站 | 国产中文字幕第一页 | 久久国内免费视频 | 在线视频 亚洲 | 免费日韩视频 | 久草视频免费看 | 国产精品久久久久久久av大片 | 欧美在线free | 国产高清中文字幕 | 久久精品9| 麻豆91精品| 中文字幕av有码 | 国产黄免费看 | 一区二区不卡高清 | 天天躁天天狠天天透 | 国产亚洲在 | 五月丁婷婷 | 久久久久久久久影视 | 91大神电影 | 欧美久久久久久久久久久久 | 国产精品美女久久久久久 | 日韩欧美在线国产 | 日韩在线影视 | 欧美精选一区二区三区 | 色爱成人网 | 欧美激情视频一区 | 午夜精品福利一区二区 | 日韩手机在线 | 国产精品久久久久久久久免费 | 亚洲综合激情网 | 国产精品综合在线观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 天天色天天上天天操 | 精品欧美一区二区三区久久久 | 免费高清在线视频一区· | 亚洲天堂网在线观看视频 | 欧美视频一区二 | 日本久久不卡视频 | av电影中文 | 少妇av片 | 日韩女同一区二区三区在线观看 | 欧美日韩国产亚洲乱码字幕 | 四虎在线观看网址 | 久久精品综合视频 | bayu135国产精品视频 | 丁香六月网 | 国产精品成人一区二区三区吃奶 | 欧美成人91 | 亚洲精品小视频在线观看 | 婷婷色五| 亚州精品在线视频 | 97中文字幕| 日韩伦理片hd | 91视频在线免费下载 | 婷婷婷国产在线视频 | 91禁在线看| 欧美成人中文字幕 | 国产精品福利一区 | 国产一区二区在线播放视频 | 中文字幕在线影院 | 国产一区二区高清不卡 | 懂色av一区二区在线播放 | 亚洲亚洲精品在线观看 | 91免费网| 成年人视频免费在线播放 | 午夜视频在线瓜伦 | 国产成人精品av在线观 | 精品久久久免费视频 | 综合激情伊人 | 麻豆精品视频在线观看免费 | 中文伊人| 久久精品免费电影 | 久久午夜精品影院一区 | 久久久黄色免费网站 | 狠狠狠色丁香婷婷综合久久88 | 精品在线亚洲视频 | 天天艹 | 91精品国产麻豆 | 久草在线观看资源 | 亚洲精品美女久久久 | 国产精品免费在线观看视频 | 国产九九精品视频 | 国产精品美女999 | 五月天激情婷婷 | 精品一区二区视频 | 日本不卡一区二区三区在线观看 | 在线亚洲午夜片av大片 | 色姑娘综合网 | 毛片网在线 | 免费在线国产精品 | 天天操操 | 精品1区二区 | 91福利视频网站 | 二区三区在线 | 天天干天天综合 | 精品一区二区三区四区在线 | 91精彩视频在线观看 | 亚洲a成人v | 亚洲免费成人av电影 | 国产高清中文字幕 | 国内精品久久久久影院日本资源 | 伊人伊成久久人综合网小说 | 久久久久亚洲最大xxxx | 久久艹免费 | 久久久激情视频 | 中文字幕在线观看第三页 | 久久久久影视 | 91精品免费在线视频 | 国产精品尤物视频 | 永久av免费在线观看 | 天天色天天爱天天射综合 | 午夜影视av | 国产欧美精品在线观看 | 国产免费又黄又爽 | av中文在线 | 精品一区二区av | 中文字幕亚洲精品在线观看 | 欧美日韩91 | 日日日操操 | 日韩在线精品视频 | 精品亚洲男同gayvideo网站 | 在线91色| 欧美黄色成人 | 天堂av一区二区 | 久久一线| 欧美日韩精品免费观看视频 | 91片黄在线观看 | 国产综合香蕉五月婷在线 | 97人人精品| 亚洲女在线 | 国产精品第二十页 | 久久免费影院 | 国产精品剧情 | 一级免费黄视频 | 在线观看日韩视频 | 日韩电影中文,亚洲精品乱码 | 四虎免费在线观看视频 | 日本精品中文字幕在线观看 | 亚洲天堂网在线视频观看 | 97在线视频免费观看 | 美女在线免费视频 | 日韩亚洲精品电影 | 97在线看 | 欧美精品久久天天躁 | 免费在线播放黄色 | 欧美激情第八页 | 天天干夜夜干 | 在线观看激情av | 伊人日日干 | 国产日韩精品一区二区三区在线 | 亚洲成a人片77777kkkk1在线观看 | 亚洲免费不卡 | 国产日产精品一区二区三区四区的观看方式 | 日韩免费福利 | 天天草天天干天天射 | 欧美性生活一级片 | 国精产品999国精产品视频 | 九九在线国产视频 | 三级在线国产 | 亚洲免费婷婷 | 久久精品这里都是精品 | 国产精品日韩高清 | 欧美一二三专区 | 日韩精品首页 | 综合激情av | 久久精品一区二区 | 在线观看视频一区二区 | 国内视频在线 | www.久草.com | 日韩乱码在线 | 成 人 黄 色视频免费播放 | 久久这里精品视频 | 久久久久99精品成人片三人毛片 | 久久99热精品这里久久精品 | 日韩中出在线 | 欧美黄色高清 | 99成人在线视频 | 在线国产欧美 | 中文一区二区三区在线观看 | 麻豆传媒视频观看 | 黄色成年 | 视频三区在线 | 日韩精品国产一区 | 五月天丁香亚洲 | 在线观看自拍 | 一区二区三区动漫 | 99色在线观看 | 免费看国产精品 | 美女网色 | 亚洲人成精品久久久久 | 中文字幕中文字幕在线中文字幕三区 | 色婷婷丁香| 在线观看岛国 | 日本xxxx裸体xxxx17 | 日韩特黄av | 婷婷成人亚洲综合国产xv88 | 久久午夜羞羞影院 | 久久精品91视频 | 激情久久伊人 | 手机av永久免费 | 91插插插网站 | 91精品啪在线观看国产线免费 | 国产亚州av| 日韩特黄一级欧美毛片特黄 | 西西4444www大胆视频 | 天天干人人插 | 国产久草在线观看 | 狠狠色噜噜狠狠狠合久 | 日韩av图片 | 日韩有码第一页 | 人人干干人人 | 久草国产视频 | 黄色大全免费网站 | 日韩成人高清在线 | 国产一区国产精品 | 美女视频是黄的免费观看 | 视频一区视频二区在线观看 | 婷婷五月色综合 | 91.麻豆视频 | 97超碰人人澡 | 欧美日韩国产一区 | 午夜久久美女 | 国产精品一区二区白浆 | 美女精品网站 | 91最新在线视频 | 欧美精品久久久久性色 | 日韩精品一区二 | 欧美日本一区 | 91网站观看| 探花视频在线观看免费 | 免费成人在线观看视频 | 国产九九九视频 | 久久久久久久久久久网站 | 97人人澡人人添人人爽超碰 | 国产精品亚洲视频 | www.天天干 | 欧美精品视 | 久久国产精品99久久人人澡 | 在线超碰av| 91视频在线观看下载 | 日韩免费在线观看 | 在线 视频 一区二区 | 91丨九色丨国产在线观看 | 久久久久麻豆 | 91视频在线 | 九九视频这里只有精品 | 国产网站色 | 99在线高清视频在线播放 | 69精品人人人人 | 又黄又爽又色无遮挡免费 | 超碰97成人 | 日韩精品欧美一区 | 亚洲成人高清在线 | 国产精品区免费视频 | 国产精品2019 | 丝袜美腿在线播放 | 中文字幕中文字幕在线中文字幕三区 | 国产黄色精品在线 | 欧美巨大荫蒂茸毛毛人妖 | 欧美三级高清 | 在线观看色视频 | 99色婷婷 | 国产精品成久久久久三级 | 香蕉视频在线看 | 久久久久免费观看 | 中文字幕在线播放一区二区 | 亚洲日本国产精品 | 精品久久久久久久久久国产 | 美女国内精品自产拍在线播放 | 伊人天天狠天天添日日拍 | 亚洲观看黄色网 | 狠狠干天天操 | 日韩精品首页 | 欧美国产日韩一区二区三区 | 婷婷色综合色 | 亚洲理论电影网 | 国产精品大片在线观看 | 青青草国产精品 | 日操操| 成人午夜剧场在线观看 | 日韩在线观看第一页 | 国产精品精品国产婷婷这里av | 日本久久成人中文字幕电影 | 久久不射电影院 | 日日干av| 日本中文字幕在线看 | 国产精品一区二区三区四 | 亚洲成免费| 天天在线免费视频 | 国产午夜精品理论片在线 | 黄av免费在线观看 | 免费看国产精品 | 最新黄色av网址 | 国产综合精品一区二区三区 | 97精品国产一二三产区 | 国产精品久久久久久久久久久久久久 | 久久一区二区三区超碰国产精品 | 国产在线观看你懂得 | 久久久精品 一区二区三区 国产99视频在线观看 | 一区二区三区精品久久久 | 日韩天堂网| 国产精品国产亚洲精品看不卡15 | 欧美一区二区免费在线观看 | 亚洲一区二区91 | 国内精品毛片 | 国产品久精国精产拍 | 欧美日韩p片 | 很黄很色很污的网站 | 欧美动漫一区二区三区 | 91爱爱视频 | 在线观看视频日韩 | 欧美久久久 | 日本在线观看中文字幕无线观看 | 爱情影院aqdy鲁丝片二区 | 国产精品综合在线 | 九九久久视频 | 丝袜足交在线 | 三级黄色免费片 | 亚洲国内精品 | 高清久久久久久 | 国产二区精品 | 亚洲午夜久久久久久久久 | 黄色av免费 | a级国产乱理论片在线观看 伊人宗合网 | 久久伦理影院 | 看国产黄色大片 | 成人免费在线电影 | 黄色国产成人 | 中文字幕在线国产 | 4hu视频| 国产精品v欧美精品v日韩 | 久久超碰免费 | 免费看的黄色小视频 | 天堂av在线网址 | 丁香婷婷色综合亚洲电影 | 日韩精品第一区 | ,午夜性刺激免费看视频 | 亚洲女同ⅹxx女同tv | 国产精品国内免费一区二区三区 | 不卡的av在线 | 国产明星视频三级a三级点| 国产精品久久久av久久久 | 97精品欧美91久久久久久 | 福利视频一区二区 | av软件在线观看 | 黄色片免费电影 | 国产专区精品视频 | 在线免费黄网站 | 福利一区二区在线 | 麻豆视频免费在线观看 | 欧美嫩草影院 | 日日摸日日| 成人a级免费视频 | 亚洲精品视频免费在线观看 | 中文字幕免费观看全部电影 | 久久久久97国产 | 欧美一级xxxx | 天天亚洲| 夜夜操网| 午夜色婷婷 | 精品亚洲一区二区三区 | 亚洲精品黄色 | 欧美大jb | 日本精品中文字幕在线观看 | 国产高清永久免费 | 欧美性大战久久久久 | 九九热在线播放 | 日本精品视频一区 | 91大片网站 | 免费在线播放av电影 | 日韩午夜网站 | 日韩三级av | 亚洲伊人第一页 | 天天操网站 | 五月婷婷在线播放 | 色综合五月 | 久草在线看片 | 久久99热国产 | 九九亚洲精品 | av中文字幕在线观看网站 | 激情欧美国产 | 精品久久久久久久久久久久 | 亚洲综合在线播放 | 精品免费久久久久久 | 992tv又爽又黄的免费视频 | 免费看一级一片 | 不卡视频一区二区三区 | 91一区一区三区 | 中文字幕在线观看视频免费 | 日本公妇色中文字幕 | 四虎影视精品成人 | 久精品视频免费观看2 | 99久久久成人国产精品 | 视频在线播放国产 | 久草精品在线播放 | av在线免费观看黄 | 亚洲天堂社区 | 欧美一级久久 | av电影在线播放 | 五月婷婷在线播放 | 国产午夜精品一区二区三区四区 | 亚洲精品国偷拍自产在线观看蜜桃 | 色中射| 久久福利精品 | 国产在线 一区二区三区 | 探花视频在线版播放免费观看 | 国产精品成人久久 | 亚洲精品视频免费看 | 日韩在线看片 | 欧美另类亚洲 | 亚洲播放一区 | 国产精品电影在线 | 欧美日韩免费在线视频 | 三级a毛片 | 亚洲精品久久久久久久不卡四虎 | 香蕉影院在线观看 | 西西www4444大胆在线 | 国产午夜精品理论片在线 | 亚洲高清网站 | 青春草免费视频 | 91麻豆精品国产91久久久使用方法 | 久久久精品一区二区 | 婷婷在线网站 | 色香com. | 永久中文字幕 | 人人玩人人弄 | 亚洲区另类春色综合小说校园片 | 少妇bbw搡bbbb搡bbbb | 日韩在线 一区二区 | 蜜桃av人人夜夜澡人人爽 | 久久精品中文字幕少妇 | 99久视频 | 东方av免费在线观看 | 日本久久久久 | 伊人婷婷色 | 91麻豆国产福利在线观看 | 久久久久国产a免费观看rela | 91亚洲欧美激情 | 天天色宗合 | 91精品久久久久久久久久久久久 | 午夜久久精品 | 日韩欧美视频一区二区 | 91精品小视频 | 欧美性天天 | 伊人影院av | 国产成人在线播放 | 久久久久久久久免费 | 美女黄网站视频免费 | 久久精品视频播放 | 国产裸体视频网站 | 亚洲成av人影片在线观看 | 韩日精品中文字幕 | 国产特级毛片aaaaaa高清 | 国产美女主播精品一区二区三区 | 91中文在线| 91精品视频免费看 | 久久精品国产精品 | 国产精品久久久久久久毛片 | 日韩在线视频不卡 | 久久视频免费 | 天天躁日日躁狠狠躁av中文 | 国产精品一区一区三区 | 四虎国产视频 | 日韩a在线 | 午夜久久 | 国产精品久久久久影院日本 | 免费日p视频 | 日韩欧美有码在线 | 国产尤物一区二区三区 | 五月天亚洲精品 | 九九热在线精品 | 超碰在线日韩 | 久久久久美女 | 视频在线观看91 | 欧美激情视频一区二区三区免费 | 蜜臀久久99精品久久久酒店新书 | 婷婷丁香六月天 | 亚洲国产精品一区二区久久,亚洲午夜 | 69视频永久免费观看 | 日韩色综合 | 91精品综合| 伊人在线视频 | 国产精品久久一区二区无卡 | 国产成人精品在线 | 久草视频在线播放 | 日韩经典一区二区三区 | 日本精品视频在线观看 | 97视频人人免费看 | 91麻豆精品国产91久久久久 | 久久精品伊人 | 日韩中文字幕免费视频 | 毛片网在线 | 日韩精品你懂的 | 精品视频999 | 激情网第四色 | 四虎永久视频 | 久久免费国产电影 |