Skip to content

HanXingyao/Simplex

Repository files navigation

Simplex - 单纯形算法

1. 问题描述

1.1. 问题背景

单纯形算法是一种用于求解线性规划问题的算法,它是由美国数学家Dantzig于1947年提出的。单纯形算法是一种迭代算法,每一次迭代都会使目标函数值增加,直到目标函数值不再增加为止,此时得到的解就是最优解。

1.2. 问题描述

给定一个线性规划问题,求出其最优解。

1.3. 问题输入

矩阵A、向量b、向量c,其中A为m×n矩阵,b为m维向量,c为n维向量。

1.4. 问题输出

最优解x,最优值v。

1.5. 问题实例

1.5.1. 输入

    c_in = np.array([-2, 4, -1, 1])
    a_in = np.array([[1, 2, 4, 1],
                     [-1, 1, 0, 0],
                     [1, 0, 0, 0],
                     [0, 0, 1, -5],
                     [0, 0, -1, 2]])
    b_in = np.array([[20], [3], [4], [5], [2]])

1.5.2. 输出

    x = [4. 0. 4. 0. 0.]
    v = -12.0

2. 项目结构

2.1. 项目目录

    .
    ├── README.md
    ├── main.py
    ├── main_oop.py
    ├── main_pandas_max.py
    └── main_pandas_min.py

2.2. 项目文件

2.2.1. main.py

使用numpy实现的单纯形算法,未使用面向对象编程。

2.2.2. main_oop.py

使用numpy实现的单纯形算法,使用面向对象编程。

2.2.3. main_pandas_max.py

使用pandas实现的单纯形算法,求最大值。

2.2.4. main_pandas_min.py

使用pandas实现的单纯形算法,求最小值。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages