线性编程是最常见的优化技术之一。它具有广泛的应用范围,并且经常用于运筹学,工业设计,计划等,并且还在不断增加。Python中的线性编程并没有像机器学习那样被大肆宣传,但是它是可以通过具有线性关系的决策变量,来解决问题。这是一个快速实用的Python中的线性教程 www.zpedu.com/it/rjyf/12772.html。下面让我们来详细了解一下这些内容吧。 决策变量 在PuLP中,通过以下方式定义决策变量:
- 变量= LpVariable(“ variableName”)
复制代码
有时我们需要为变量提供界限(默认为无界限),在这种情况下,我们将编写以下内容:
- var = LpVariable(“ boundedVariableName”,lowerBound,upperBound)
复制代码
在PuLP中定义变量的另一种有用方法是使用dicts函数。在我们需要定义大量相同类型和范围的变量的情况下,这很有用,variableNames是字典的键列表:
- varDict = LpVariable.dicts(“ varDict”,variableNames,lowBound,upBound)
复制代码
因此,根据先前的定义,计算机生产问题的决策变量是我们为每个工厂花费的生产天数:
#工厂
num_factories = 3个
factory_days = LpVariable.dicts(
- “factoryDays”,列表(范围(num_factories)),0,30,猫= “连续”)
复制代码
解决 在定义了线性编程问题中的所有必要条件之后,我们可以调用solve方法,如果解决了该问题,则输出1;如果不可行,则输出-1,这很简单:
可以通过访问每个变量的varValue属性来获得该问题的解决方案:
对于范围(3)中的i:
print(f“ Factory {i}:{factory_days [i] .varValue}”)
复制代码
结果为以下输出:
工厂0:23.076923
工厂1:15.384615
工厂2:30.0
复制代码
在线性编程中,我们假设变量之间的关系是线性的,并且变量本身是连续的。作为本教程的后续,我将介绍混合整数编程,其中变量可以是整数,这将被证明是非常有用的,因为它可用于模拟布尔逻辑。 上述就是关于Python中的线性编程:直接教程的全部内容介绍,想了解更多关于Python的信息,请继续关注我们。
|