Google OR-Tools(二) 线性优化Linear Optimization

本文介绍了如何使用Google OR-Tools解决线性规划问题,包括线性规划的基本概念、典型案例——营养搭配问题,以及如何用OR-Tools在.NET Core中实现求解过程。
摘要由CSDN通过智能技术生成

本文参考Google OR-Tools官网文档介绍OR-Tools的使用方法。

1 线性规划问题

线性规划是优化问题里最简单的一种形式,需要极大化或极小化的目标函数是线性的,而约束条件由一组线性等式或不等式组成。很多复杂的非线性规划问题都会需要将其转换成线性规划问题来求解。求解线性规划问题最常用的算法是单纯形法(包括了单纯形表、修正单纯形法、对偶单纯形法等),除此之外还有内点法、灵敏度分析等算法。
线性规划问题的一般形式:
m a x i m i z e c 1 x 1 + c 2 x 2 + c 3 x 3 + . . . + c n x n s u b j e c t   t o a i 1 x 1 + a i 2 x 2 + a i 3 x 3 + . . . + a i n x n ≤ b i ,   i = 1 , . . . , l a j 1 x 1 + a j 2 x 2 + a j 3 x 3 + . . . + a j n x n ≥ b j ,   j = l + 1 , . . . , l + r a k 1 x 1 + a k 2 x 2 + a k 3 x 3 + . . . + a k n x n = b k ,   k = l + r + 1 , . . . , l + r + q x 1 ≥ 0 , x 2 ≥ 0 , . . . , x n ≥ 0 \begin{aligned} maximize\quad& c_1x_1+c_2x_2+c_3x_3+...+c_n x_n\\ subject\ to\quad& a_{i1} x_1+a_{i2} x_2+a_{i3} x_3+...+a_{in} x_n\leq b_i, \ i=1,...,l\\ & a_{j1} x_1+a_{j2} x_2+a_{j3} x_3+...+a_{jn} x_n\geq b_j, \ j=l+1,...,l+r\\ & a_{k1} x_1+a_{k2} x_2+a_{k3} x_3+...+a_{kn} x_n= b_k, \ k=l+r+1,...,l+r+q\\ & x_1\geq0,x_2\geq0,...,x_n\geq0 \end{aligned} maximizesubject toc1x1+c2x2+c3x3+...+c

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值