Lingo_1. 0/1规划

这篇博客介绍了如何使用LINGO软件解决一个0/1规划问题,具体是一个8名同学匹配成4个调查队以最大化效率的案例。通过解析问题,设置目标函数和约束条件,利用LINGO求解得到全局最优值为30,并展示了如何查看最优解的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 0/1规划

LINGO 提供了另一种定义稀疏集合的方法,这就是“元素过滤”法, 能够从构成派生集合的父集合的笛卡儿积中系统地过滤下来一些真正的元素。

问题:

某班 8 名同学准备分成 4 个调查队(每队两人)前往 4 个地区进行社会调查。假设这 8 名同学两两之间组队的效率如表 4-3 所示(由于对称性,只列出了上三角部分),问如何组队 可以使总效率最高?
这里写图片描述
这是一个典型的匹配(MATCHING)问题。把上面的效率矩阵记为 BENEFIT,用 MATCH (Si,Sj)=1 表示同学 Si,Sj 组成一队,而 0 表示不组队。由于对称性,只需考虑 i 小于j 共 32 个 0-1 变量。
显然,目标函数为 BENEFIT(Si,Sj)* MATCH(Si,Sj)之和;约束条件是每 个同学只能(而且必须在)某一组,即对于任意 i 有:只要 MATCH 属性的某个下标为 i 就加 起来,此和=1。显然,这是一个 0-1 线性规划。

1.1解析:

model:
    sets:
        students/s1..s8/;
        parts(students, students)| &2 #gt# &1:
            benefit, match;
    endsets

    data:
        benefit = 
            9 3 4 2 1 5 6
              1 7 3 5 2 1
                4 4 2 9 2
                1 5 5 6
                  8 7 6
                    2 3
                        4;
    enddata

[objective] max = @sum(parts(i, j): benefit(i ,j) * match(i, j));
@for(students(i):[constraints]
    @sum(parts(j,k) | j #eq# i #or# k #eq# i: match(j,k))=1);
    @for(parts(i,j): @bin(match(i,j)));
end

其中 STUDENTS 集合的元素列表“S1..S8”等价于写成“S1 S2 S3 S4 S5 S6 S7 S8”, 它没有相关的属性列表,主要用于表示下标集合。我们看到在派生集合 PAIRS 的定义中,增加了过滤条件,即逻辑关系式“&2#GT#&1”,意思是第 2 个父集合的元素的索 引值(用“&2”表示)大于第 1 个父集合的元素的索引值(用“&1”表示)。

1.2结果:

选择菜单命令“LINGO|SOLVE”运行这个程序,可以得到全局最优值=30。

 Global optimal solution found.
  Objective value:                              32.00000
  Objective bound:                              32.00000
  Infeasibilities:                              0.000000
  Extended solver steps:                               0
  Total solver iterations:                             0

  Model Class:                                      PILP

  Total variables:                     28
  Nonlinear variables:                  0
  Integer variables:                   28

  Total constraints:                    9
  Nonlinear constraints:                0

  Total nonzeros:                      84
  Nonlinear nonzeros:                   0

                                Variable           Value        Reduced Cost
                        BENEFI
<think>好的,用户想查找Typora在Mac上的常用快捷键列表。首先,我需要回顾一下之前的引用内容,看看有哪些相关的快捷键信息。引用1提到了一些快捷键,比如视图切换的cmd+control+1、2、3,还有表情符号的快捷键。引用2更详细,列出了很多快捷键,比如标题级别使用cmd+1到5,代码块是option+cmd+C,公式块是option+cmd+B,还有加粗、斜体、链接等。引用3虽然主要是Windows的快捷键,但也有一些通用设置,比如目录导航和图像路径配置,但可能不太相关。 用户明确需要Mac版本的快捷键,所以重点应该放在引用2的信息上。需要整理这些快捷键,按照功能分类,比如标题、格式、列表、插入元素等,这样用户更容易查找。同时要确保没有混淆Windows的快捷键,比如引用3中的ctrl快捷键可能在Mac上是不同的。比如引用2中的cmd对应的是Mac的command键,而option键对应的是alt键。 另外,用户可能希望快捷键列表结构清晰,分门别类,方便查阅。需要检查是否有重复或冲突的信息,比如引用1和引用2中的视图切换快捷键是否一致。根据引用1,视图切换是cmd+control+1/2/3,而引用2中的大纲视图是control+cmd+1,文档列表是control+cmd+2,文件树是control+cmd+3,这应该是一致的,需要正确呈现。 还要注意用户可能需要的常用功能,比如加粗、斜体、插入代码块和公式块,这些在引用2中都有提到。同时,用户可能对如何生成目录或管理列表缩进感兴趣,这些也需要包含在内。 最后,确保使用正确的中文表达,按照用户的要求分点列出,并且格式美观。可能需要将快捷键用等宽字体或代码块标出,但根据用户之前的示例,可能更倾向于使用自然段加项目符号的方式。同时,根据系统级指令,数学公式需要用$...$,但在这个问题中可能用不上,所以主要关注文本格式的正确性。 总结步骤:收集所有Mac相关的快捷键,分类整理,检查一致性,确保准确无误,结构清晰,使用用户示例中的引用标识,并在最后生成相关问题。</think>### Typora Mac 常用快捷键列表 以下是适用于 macOS 系统的 Typora 常用快捷键分类整理,结合官方文档和实际使用场景[^1][^2][^3]: --- #### **标题与段落** 1. **标题级别** - 一级标题:`⌘ + 1` - 二级标题:`⌘ + 2` - 三级标题:`⌘ + 3` - 四级标题:`⌘ + 4` - 五级标题:`⌘ + 5` - 段落格式:`⌃ + O`(若冲突则用此组合) 2. **调整标题级别** - 提升级别:`⌘ + =` - 降低级别:`⌘ + -` --- #### **文本格式** - **加粗**:`⌘ + B` - *斜体*:`⌘ + I` - <u>下划线</u>:`⌘ + U` - ~~删除线~~:`⌥ + ⇧ + 5` - `行内代码`:`⇧ + ⌘ + \`` - 高亮文本:`==高亮内容==`(需在设置中启用)[^3] --- #### **插入元素** 1. **代码块**:`⌥ + ⌘ + C` 2. **公式块**:`⌥ + ⌘ + B` - 行内公式:`⌃ + M`(需在设置中启用) 3. **表格**:`⌥ + ⌘ + T` 4. **引用块**:`⌥ + ⌘ + Q` 5. **任务列表**:`⌥ + ⌘ + X` 6. **超链接**:`⌘ + K` 7. **图片插入**:`⌃ + ⌘ + I` 8. **脚注**:`⌥ + ⌘ + R` --- #### **视图与导航** - **切换侧边栏视图**: - 大纲视图:`⌃ + ⌘ + 1` - 文档列表:`⌃ + ⌘ + 2` - 文件树:`⌃ + ⌘ + 3` - 显示/隐藏侧边栏:`⇧ + ⌘ + L` - 水平分割线:`⇧ + ⌘ + -` --- #### **列表与缩进** - **有序列表**:`⌥ + ⌘ + O` - **无序列表**:`⌥ + ⌘ + U` - 增加缩进:`⌘ + ]` - 减少缩进:`⌘ + [` --- #### **其他操作** - 清除样式:`⌘ + \` - 自动保存配置:在偏好设置中启用“保存时自动同步”[^3] - 检查元素(开发者模式):通过偏好设置启用浏览器调试功能 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值