【运筹优化建模】如何表示一组表达式的最大值和最小值

设表达式为expr1,expr2,...expr_n

最大值的表示:
新建变量x,首先x大于等于所有n个表达式,
其次x小于等于其中任何一个即可,新建n个0-1变量,设为y1,y2,...y_n,并用M表示n个表达式的上界,
首先 y1+y2+...+yn<=n-1
其次,x<=expr_i+y_i*M,对所有的i

必有一个y_i=0,则x<=expr_i,此时x就表示了n个表达式的最大值


最小值的表示:
与最大值的表示类似,设新建变量为z,首先z要小于等于所有的表达式,其次z大于等于其中任何一个即可
同样新建n个0-1变量,设为x1,x2,...x_n,并用M表示n个表达式的上界,
首先 x1+x2+...+xn<=n-1
其次,z>=expr_i-x_i*M,必有一个x_i=0,此时z>=expr_i,且z<=所有的表达式,则z必为所有表达式的最小值

posted @ 2022-08-01 10:58  tiderew  阅读(300)  评论(0)    收藏  举报