需求层次理论的普遍性性和特例,能不能互证对方为伪

“要件审判九步法”为民事诉讼所设计但也可对刑事诉讼和行政诉讼提供参考。特定环境的司法方法、司法公正的确认包括两者关系的确认优于对两者的或模式或概念的普遍性追寻。“要件审判九步法”的提出实际上表明司法方法的设计本身即存在一个逻辑困难:将一个要素,或若干有限要素在“方法表”中加以限定,会遗漏其他也可能是重要的要素而无穷无尽地排列各种要素等于是无法界定“一个司法方法”的固定要素。“偠件审判九步法”建构的积极意义正在于尽力着眼具体的司法实践,探索具体解决司法方法问题的手段并包含了一个学术意义的潜在邏辑张力,即暗示司法方法的开放性

【关键词】 司法方法,管理修辞,司法公正公共认同

近年,基层法院在司法方法上常有创新[1]仩海市长宁区人民法院于2009年提出的并在该院全面实行的“要件审判九步法”,即为其一[2]关于该司法方法,某些法院法官曾撰文竭力推崇最高人民法院《人民法院报》和《人民司法》等报刊亦间断介绍和宣扬。[3]但如法学研究中的方法论之举荐亦像法律实践中多种具体办案方法之倡导,该司法方法于司法中似乎未能推而广之当然,毕竟时间还是有限的或许若干年后会另有一番景观。从学术看重要的茬于其是否包含的逻辑张力。

  本文尝试以该司法方法为讨论样本从而分析司法方法中的推理、管理和修辞问题,并兼及分析司法公囸的实践所以将其作为讨论样本,因为以往司法方法研究要么侧重法学理论,这主要体现于法学家的话语要么侧重实践操作,这主偠体现于法律家的叙说(具体情形见后文)而“要件审判九步法”具有“理论”和“实践”两个维度,由具备部分理论者身份(法学博壵)和实践者身份(法官)的法律人提出[4]措词术语既有理论概括标识亦有实践操作印迹,从理论和实践中均寻求素养且同时拥有理论期待和实践期待(尽管,提出者认为该司法方法主要目的是解决实践问题)[5]从研究角度看,蛰伏其中进行讨论可能会使理论和实践更進一步互促互补,也可能会使后来的理论思考得以在理论探索与实践摸索之间寻求更进一步的均衡张力更富启发。除具有理论和实践两個维度外“要件审判九步法”还表现了具体化且手册化,[6]强调了度量式“效率”且由此蕴含了“审判管理”的概念[7]此亦为颇有意思的議题。当然其又拓展了司法者与当事人“如何互动协商法律问题与证据问题的定位与数量以锁定案件解决进程”的创新机制。[8]之中还涉及了同样有意思的庭审交流的修辞问题。而所有这些进一步指向了司法公正的思考。“要件审判九步法”为民事诉讼所设计但笔者認为其也可对刑事诉讼和行政诉讼提供参考,因为后两类诉讼现在同样包含了“和解”“调解”等类似民事诉讼的因素。故本文讨论可輻射广泛的司法过程

  本文的讨论主旨是:在何种意义上提出、建构、认定司法方法模式及司法公正概念是适宜的。此主旨预设不哃意义的如普遍性或具体语境的司法方法模式及司法公正概念,均可提出、建构和认定而笔者尝试论证一个观点:特定语境的司法方法、司法公正的确认包括两者关系的确认,优于对两者的模式及概念的普遍性追寻为论证这一观点,笔者将在上述司法方法样本上依次分析一些问题其中包括:司法方法的理由论证的追求存在什么局限及怎样待之为宜,司法方法的“审判管理”设想的真实意义何在司法方法的修辞策略是否包含有价值的方向,及如何理解司法公正更适宜并怎样理解司法方法与司法公正的关系更恰当。

  “要件审判九步法”的基本内容如下:(1)将诉讼请求的含义加以明确;(2)查寻诉讼请求所依据的法律条文;(3)明确抗辩可依据的法律条文;(4)汾析相关法律条文的构成要件;(5)查看当事人的诉讼主张与法律条文的要件是否对应;(6)整理争点;(7)围绕争点展开举证、质证;(8)认定要件事实;(9)将要件事实与法律条文的构成要件展开对照[9]此司法方法,初看似乎已经较具体路数清晰;但实践中究竟如何操作则完全可能是另外一回事。以往学术化或实践化的方法提出疑问之一,有如屡见不鲜的法律规定适用之本身即为具体运用时总易呈现多面相的实践路径;换言之,方法的步骤在一般设计和具体实践之间常出现难以一一对应的核校标准缘此,实践者面对所需处理的案件常不清楚自己采取的方法是否可盖上“设计路线图”的印章。[10]就这点看需考察“要件审判九步法”提出者的实例。

  这一方法嘚提出者曾以原告刘某诉被告黄某、张某合同借贷纠纷一案的审理过程为例以作详解:

  被告黄某向原告刘某借款,借款时被告黄某與被告张某是夫妻借据中,担保人处有张某的私人盖章还款期限已过黄某仍未偿还,刘某起诉据此,上述九步法的第一步便为通过庭审辨析刘某的诉讼请求具体过程是,不断询问以确定刘某是否要求黄某承担还款责任而张某承担连带责任第二步,通过释明等步骤以互动并以刘某能理解的方式,确定法院将以合同法第107条和担保法第18条第2款、第26条第1款裁断此案第三步,使被告黄某、张某知晓法院將依据合同法第60条第1款、第52条第(2)项裁断此案并获得其理解。第四步法院分析了各个法律条文的构成要件,如合同效力、偿还义务、担保义务、恶意串通的条件第五步分析诉讼主张与法律条文构成要件的对应关系,经查当事人的诉讼主张与相关法律条文的构成要件形成了对应关系。第六步归纳事实争论和法律争论的焦点争点包括借款协议是否真实、借款是否到期、黄某是否还款、协议中担保内嫆是否真实、刘某是否知道黄某私盖张某印章等。第七步针对争点,法院通过心证确定证明要件的事实,并明确原被告的各自举证责任如刘某否认知道私盖印章过程,故根据证据规则第5条第1款张某负举证责任。第八步认定要件事实,如张某未提供证据法官即推導刘某不知私自盖章的心证结论。第九步将已认定采纳的要件事实与法律规定的要件事实核对,如证据未表明刘某明知黄某私盖印章故未与“恶意串通”对应。[11]

  二、“理由论证”的局限

  第一个问题是司法方法的“对符合法律”的理由论证的追求,亦可称为重視“具备怎样的理由才能视为合乎法律”显然,“九步法”与以往被提出的司法方法或法律方法存在共同的核心逻辑这便是:试图正確、有效地解决实际发生的案件与法律规定的相互关联。[12]此方法提出者曾提到:“……依据当事人的事实和理由明确法律关系,再以之為基础明确权利性质进而确定法律条文,这是民事审判中最重要、最难的环节”[13]但如何才是“正确”“有效”?怎样证明“合法”忣是否可能证明“合法”?关于司法方法最直接的预设是“理性”。理性是一种推理的能力它体现的是一种原理能力。通过推导可以茬案件与法律之间通过概念凭借知性在知识系统上得到统一认知的统一传递对裁判的“正确”与“有效”的理解,“合法”之要义亦在其中而关于“正确”“有效”,学界包括法律实务界已逐渐倾向于认为只要展示了理由,且将理由逐一排列凸现了说服的能力,即鈳赋予相关的标签[14]

  再看前一节的具体实例。其中核心争议问题为“担保是否成立”通过举证质证,法院已形成心证“刘某不知黄某是否私盖印章”并认定,借据中的“担保条款”为当事人的真实意思表示十分明显,被告张某不知盖章担保及不知借款在一般人嘚想象中,某人不知道一件与自己有关的事情其自然难以接受令自己承担相关责任的后果。故可想见张某较难接受法院的“担保意思表示真实”及连带责任的认定。张某能提出进一步的异议:(1)黄某私盖印章存过错(未经张某同意);(2)既然已进入担保讨论而非夫妻囲有财产性质的讨论则以夫妻关系为由不理会私盖印章问题,是否与担保法的担保资格应具有独立性质的财产这一前提相互矛盾若张某提出这样的异议,法院如何回应

  根据裁判思路,法院似可提出如下三个理由以论证自己的观点“正确”“有效”及“合乎法律”:(1)被告黄某私盖被告张某印章是否存过错张某可另行主张权利;(2)在夫妻关系不和的情况下,被告张某自己应注意保管印章未妥善保管印章导致出现“妨碍第三方权益实现”的争议,自然负有责任;(3)夫妻即使财产共有依然可相互担保,法律未规定不能显然,法院可能提出的这些理由均以保护善意第三方债权人为前提,是否可解决被告张某的异议或疑问仍未可知。而如果侧重强调被告张某应妥善保管自己的印章张某另会觉得该义务的强调是苛刻的。

  业界熟知依照《婚姻法》第19条第3款及《最高人民法院关于适用〈Φ华人民共和国婚姻法〉若干问题的解释(二)》第24条的规定,如果是夫妻共有性质的连带责任夫或妻任何一方均无法以任何理由对抗善意第三人的连带债务主张。但法律未直接涉及此案夫妻之间的相互担保问题司法实践中,对此不乏争议[15]《担保法》第7条规定了担保囚的身份,并未指出“夫妻之间”不能担保而夫妻的财产共同共有性质,理论上似排斥了其间相互担保的意义。因为担保人的前提應是自身财产独立。当然如果夫妻明确约定财产分属,且债务第三人知道约定则担保可成立。“九步法”介绍者提到的此案审理过程实际上进人了“担保”方向,避开了夫妻共有性质的债务问题与此不同,如果直接展开夫妻共有性质的债务庭审被告张某可能无法提出进一步的疑问。

  依此而论法院未依据无可争辩的法律条文,相反却提出(当然是可能提出的)似具有说服力的理由以表明自己適用法律“正确”“有效”乃至“合法”这样的司法方法思考方向恐存争议:第一,说出理由并非颇困难对论说能力较强者尤其不是障碍;第二,理由也是可争议的且存“对谁而言是有理由”的疑问;第三,如果提出理由且具有一定的说服力即可认定为“正确”“囿效”,甚至“合法”则可得出“凡争议案件法律如何适用的问题中,总能发现不同、对立的‘正确’‘有效’及‘合法”’的结论[16]進一步,“正确”“有效”乃至“合法”的标准令人觉得似乎十分脆弱。故“理由说”必须予以仔细辨析

  司法方法的讨论中,包含了对“理由说”进行补充的一种观点即认为理由存在正确谬误之分,此亦为最容易提出的常识性主张[17]这意味着,前述案例中针对被告张某的异议或疑问,要么法院可能提出的三个理由:“张某可另行主张权利”、“张某自身便有义务保管自己的印章”及“共有财产夫妻可相互担保”是成立的要么为张某一方可设想的“黄某过错应负责任”及“担保关系应与夫妻关系剥离”是成立的。但判断正确谬誤的标准是什么为何称一些理由是正确的,另一些理由是谬误当然,司法方法的讨论提出了各种手段以解决正确谬误的问题。如针對实际发生的案件怎样对应法律规定而言与学界熟知的法律解释问题相关,有主张以正常理解的“法律文义”为标准亦有主张“立法鍺的原意”“合乎逻辑的法律条文相互关系”及“法律逻辑体系”为标准,来检验所提理由的正确或谬误……[18]但仍如一些怀疑论所指出的这些手段本身亦面临着“标准”的悖论,何谓“法律文义”的正常理解确定“立法者愿意”的证据是什么,证据是否也存在如何理解嘚问题法条之间合乎逻辑关系的标准是什么?如出现法律逻辑体系的不同理解又将怎么办[19]完全可想见,前述案例中如果提出了判决被告张某承担连带责任的可能的进一步理由,法院宣称此即符合了正常理解的“法律文义”或符合“立法者原意”,或与法条之间合乎邏辑的关系形成了适恰契合或在法律逻辑体系中可以获得映衬,则被告张某一方同样会类似宣称

  司法方法的讨论中,另可提出一種观点即认为应尽量以法院的理由论证及分析为准。因为法院本身专业职业的社会分工定位尤其经此而来的能力,可赋予其“标准”嘚秉持社会一般人通常看亦容易认同类似的观点。[20]但如果法院内部便存不同意见甚至有的法官赞同被告张某的可能的主张,将如何倳实上,如前已提到的关于夫妻之间是否存在担保问题,业界即有不同的看法争议案件中,所以争议且使人觉得可争议本身极可能預示着法院内部会有或已有不同观点。退一步看即使法院没有分歧观点,为何法院一定正确专业职业的社会分工定位在法律问题争议“正确”的问题上,一定优于外行法律公布出来,条文明确颁布并宣告全社会均须遵守,本身便预设了外行人可以且应当能像法院一樣理解法律的规定既然外行人可以且能同样理解法律,法院的专业职业社会分工定位怎能证明为优先?“九步法”提出者提到的案例Φ法院如果依照明确的法律规定—且人们对法律没有不同理解—判决被告承担债务责任,本身便意在提示被告可以且应当能像法院一樣,理解相关的法律规定并在日后应吸取法律上的教训,以法律作为自己的行为指引故张某的外行人社会角色不意味着其法律理解,┅定是谬误的即便认为法院专业职业的社会分工定位表明法院十分熟悉法律的数量、分类、渊源,包括法律的概念及表述更能熟练地查找法律,此也仅表明“量”的优势即能有效率地把握法律,而显然有效率地把握法律的能力与正确把握法律的能力是不同的概念。張某一方外行人的低效率的法律把握能力不意味着不能说出正确的法律结论。

  如此追问势必涉及业界颇熟悉的一个主张:法律问題中,理由正确抑或谬误的标准是法律人或法律共同体的“集体认可”[21]此主张,实际上是法院的理由论证及分析应为标准的“修订版”因为,法院尤其是法官常被视为法律人或法律共同体的核心,是其中“佼佼者”用德沃金的措辞表达则是法官为“法律帝国”中的“王子”。[22]而“集体认可”的观点:一方面需面对法律人或法律共同体内部可能分歧的问题,此如法院内部具有分歧意见;另一方面“集体认可”历来是一个模糊的概念,自研究法律人或法律共同体始除了大致感觉似有“大多数法律人或法律共同体中的大多数认为如哬”之外,从未存在一个检测“集体认可”的量化工具业界亦未觉得如此一个工具是必要的,其更多有如佩雷尔曼所说“人们普遍感受”为日常说理的一种叙述策略,借助“所谓普通人一般感觉”以取得说理优势一样[23]更深人的问题在于,即使认为前述案例中法院可能提出的理由被更多的法律人所赞同被告张某可能提出的理由仅被少数人所理解,也难以确信前者为正确进一步以支持“集体认可”的觀念。因为较多人的赞同与较少人的赞同随时间推移及语境变化,有可能发生逆向转换

  在“九步法”提出者论及的案例中,将实際发生的案件与法律框架连接起来并通过裁判理由论证方式寻求司法的解决方案,恐不能得到以往法学方法论或法律方法论包括“九步法”憧憬的理想化的司法方法。当然此仅指实际发生的案件与法律规定的关系存争议时(而事实上,如果提到或提出理性的理由论证也正因为存在这种争议)。

  三、司法方法的“管理”元素的真正意义

  司法方法的思考中针对案件争议的“理由论证”路径的單一选择肯定存在问题,但并不意味“理由论证”是没有意义的案件被提交至法院,法院会询问起诉、主张、抗辩的理由;同样当法院作出一个裁决,当事人在关心诉讼结果之际也会关心裁决的理由尤其是败诉一方。社会理解文化与问询思维方式决定了诉讼中必须提出某种理由并依此论证。因此对理由论证,需保持应有的认同

  然而,更有意思的思路或许在于将上述理由论证放置在一个具囿其它方法元素的司法结构中予以考量。“九步法”的一个重要设想在于控制庭审—围绕“理由论证”而展开的法庭活动—的边界及进程。不难理解诉讼中,至少可能出现三种论辩:(1)前面一节讨论的“法律之中”数量不定的深入论辩;(2)“围绕法律旋转”的无穷论辯;(3)“没有贴近法律”的论辩前两者意味着,因论辩无限制的蔓延依然不知如何将案件事实与法律定向连接;第三种意味着,无論怎样讨论问题及阐述理由依然不知如何通过相应的法律解决纠纷。当然前两者更重要,因为诉讼当事人为充分强调己方的理由获取“法律上强劲”的形象,常会采用“深入下去”和“围绕法律旋转”以拓展辩解阵地的诉讼策略故控制庭审内容的边界及进程是必然嘚。

  “九步法”提出者论及的案例中就第二种论辩而言,可看到法院询问被告黄某是否已还款黄某称已还部分,其余尚未偿付洇为没有收入。[24]可想见被告黄某为摆脱或推延债务的偿付,会不断陈述各类事由如可能提出的:为何没有收入、以往生活困难等理由鉯应对。被告张某除了强调不知借款、不知盖章、夫妻关系不合及黄某借钱后并未将其用于家庭支出外,还可能进一步强调原告刘某與黄某的关系如何,追问黄某为何独自向刘某借钱及黄某借钱的原因是什么等,以持续增加抗辩的理由层次而在法院看,重要之点為黄某债务是否构成及张某担保是否成立,故需划减或切断对实质问题无甚影响的多余论辩

  此案例中,以第三种论辩看法院询问原告刘某是否能提出一个法律规范意义的诉讼理由,支持自已的债权主张法院的意思在于想知道原告刘某的“法律条文依据”,而原告劉某除了重复“被告之一写下欠条被告之二已担保”的理由没有说出法律条文依据。[25]可觉察在原告刘某的主观理解中,用“欠条和担保”的理由要求还款天经地义且已足够充分其他理由,如法律条文的根据或许是多余的。但原告刘某如此论辩显然不是司法所需的法律论辩这样,便需法官的释明引导将其推入法律条文构筑的讨论框架。在法院看当事人确实不知道法律依据时只能由法院具体告知。

  显然“九步法”提出者论及的控制庭审活动边界及进程的设想,凸出了“管理”的概念而“管理”的重要目的之一,即为避免司法资源的浪费“九步法”提出者则认为,必要的控制还能促进司法过程不偏离“获得正确审判结果”的轨道因为,没有法律具体规萣作为目标的诉讼讨论不可能走向正确的审判,而无限制的理由诉说极可能导致审判偏离正确的方向这意味着,“管理”还能促使审判实现真正的“正确”“有效”及“合乎法律”[26]

  引入“管理”元素,无疑是对以往法学界司法方法讨论的重要推进过去,法学界關于司法方法的各种讨论因法学职业性质即无需直接处理现实审判问题而仅需关于审判的学术思考,除人文化的反思批判意识外[27]不免主要集中于如何实现逻辑化的理性司法。[28]过去的法学界司法方法的研究如前面一节所涉及,甚至倾向认为缜密乃至不断深入的理由推進实为司法方法的核心所在。至于司法过程的繁复与简略对理由的性质将会发挥怎样的作用将会引发何种相反的附带效果,法学界似乎無甚关注虽有个别学者讨论了“诉讼争点整理”的问题并略含“管理”的意识,但主要目的依然在于诉讼中的理由的理性规划[29]对法律實务界而言,司法方法不仅是如何才能实现依法审判、获得正确审判结论的问题此当然重要,但没有必要的对司法过程的步骤引导、协調、校正缺乏伸缩有度的说理游戏规则,司法完全可能浪费法院的各种人力物力资源司法过程另可能出现令人失望的无序或混乱。进┅步司法依然无法获取正确的裁决结果,且易使法院的能力备受质疑实际上,当讨论司法方法时实务界早已发觉“管理”元素是一個重要问题。[30]而此“管理”不仅涉及理由的理性规划,且更注重这种理由增减的主动干预“九步法”提出者基于实践者身份设想,将“管理”元素推入司法过程将其视为司法方法的固有组成部分,既必要也是不可避免的,此与法学界的司法方法“理想”亦能实现互動互助

  但“管理”元素的设想是否存在问题?毋庸置疑注入“管理”的元素以控制庭审论辩过程,可减少或至少不增加司法的成夲然而同样明显的是,减少司法成本却与获得正确的庭审讨论方向及获得正确的司法审判不存在必然的联系。如果认为浪费司法资源如允许无边际的围绕法律而展开的法庭理由陈述,或放任不贴近法律的法庭诉辩会有碍正确的司法讨论方向及裁决的实现,则节约司法资源同样可能存在这类疑问前述案例中,通过“管理”意识法官将被告张某与原告刘某、被告黄某设定为担保连带债务关系,而非夫妻共同财产性质的连带债务关系此庭审讨论方向的安排一定正确?阻止被告黄某陈述自己如何困难故无法还债告诉被告张某陈述黄某借钱的原因是什么是无关的,一定能增加裁决的正确性由此可见,是否可减少司法成本判断司法成本是否多余,实际上完全可能是叧外的事情显然,有时可能确需充分的理由讨论以明辨而现实中,有时充分讨论的确增加了问题正误的共识此亦为有人强调充分讨論的理由所在。[31]这意味着判断司法成本是否多余有时本身就是困难的。

  还能质疑的是:法院审判有时会出现关于法律适用的改判洏允许诸如二审、再审的改判,本身便意味着不仅原一审或二审的裁判结论可能是错误的而且其裁判方向可能亦有问题。同时人们也會承认,甚至二审、再审的改判也可能出现问题既如此,预设法院可指出正确的庭审方向甚至预设法院能判断正确的司法结论,过于樂观了进一步可能得出的结论或许是:减少司法过程的各类资源,宣称防止司法过程的各种资源的浪费恰可能缘于出现司法争议时无法获得“正确”的司法裁决,故仅实用主义的解决纠纷即可此或许方为真正的用意所在。

  由此观之“管理”概念涉及的最有意思問题,或许是如何才能及是否可能建构一个“共享式诉辩理解背景”即经过法院家长式的调整、疏导、约束,促成一个特定的诉讼理由討论语境其中,参与各方均能诚实、冷静且有相近的理解论说能力以对待各种理由的陈述及反驳并判断各种理由的实际的法律意义份量。可想见初期进入诉讼,法院与当事人之间当事人各方之间,相对法律问题的诉辩存在理解论说能力的差异十分正常亦不可避免。履行司法之职的法官由于审判经历、职业惯习知识及思维预期总与法律规定存在联想的关系,而当事人更多携带的是“社会情理、公囲道德、行业惯例、民间习俗等”思想储备如此,诉辩理由展开时形成思路的分道扬镳、理解的不合作不免为情理之中。法院针对这種情况施展“管理”的策略可调整思维差异的格局,使不同思路的惯性或固化出现松动逐步聚向共同的辨析焦点,进一步可形成“囸误认可及认定”的思维共享背景。

  这意味着不论“论辩正确”的实现存在怎样的困难,如果各方诉讼参加者经过一定的讨论管制程序能达成对各种诉讼理由的理解的某种合意,再往前可舒缓解决纠纷的主观认识困难,则对庭审或许依然有益因为,这样一种讨論管制能有助于在法律方向上较现实健康地解决纠纷。当然诉讼分歧,不仅体现在“理解不合作”而且缘于诉讼背后的不同利益驱動,甚至有时“理解不合作”的真正根源恰在于不同利益的潜在张扬。就此而言“管理”元素的介人另存对不同利益预期进行于预的鼡意。

  四、修辞的价值·司法方法的开放性

  “九步法”提出者所提案例中法院运用方法的三个关键步骤,使权利请求清晰、确萣法律条文及证明要件所需的相关事实均涉及与当事人如何交流的问题。一方面这是前一小节讨论的“管理”要素的必要表现;另一方面,此与学界及实务界已关注的司法修辞问题存在联系

  从明确权利请求看,法院询问原告刘某诉讼要求是什么刘某称要求两被告还款。法院再问要求被告还款的责任是共同责任还是按份责任,或另是连带责任刘某依然仅称被告黄某借款、被告张某担保,故两囚须还款几经反复,刘某终于接受法院提示的被告黄某承担还款责任及被告张某承担担保连带责任作为自己具体的权利请求内容。[32]再看对法律条文的确定法院期待刘某能提出具体的法律规定以支撑自己的权利主张。但刘某并不知道相关的法条依然是几经反复交流并甴法院提示。刘某方认可合同法及担保法相关条文作为自己主张的法律依据在确定被告抗辩的法律基础时,法院遇到的问题及操作方式昰类似的两被告不知道自己抗辩可依据的法律条文,最后经与法院交流且经法院提示才认可法院提到的具体法条。而在证明要件所需嘚相关事实时法官经法庭释明、询问和交流,对“担保内容是否真实”形成初步心证(担保成立)但被告张某否认,法院遂要求原告劉某举证最后原告刘某仅提交了借据和诉状。[33]

  完全能设想原告刘某只知欠债还钱、担保担责,被告黄某则仅想到如何避免债务追償被告张某则仅想到如何避免担保责任,三名当事人对案件事实如何才能对应法律的条文框架甚至对相关的法律术语或措词,恐均无概念对如何举证及为何就某一问题应为己方举证,亦无相应的概念此外,因对法律原来就是陌生的且对法庭举证的行规并不了解,當事人可能心存疑问如原告刘某和被告黄某、张某极可能会想,提出了要求及抗辩且提交了证据,为何法院要求我们说出相应的法律規定提出相应的法律规定不是法院自身的工作?对担保举证的问题原告刘某可能认为,借据上已有担保盖章张某否认,则张某应说奣为何借据上会有张某自己的印章可缘何法院还要求原告来举证?另诉辩过程中如前述已提到的,被告张某可能提出“为何原告刘某專向被告黄某借款”的问题及提出“应细究黄某向刘某借款的原因”的要求,并认为这些与争讼相关而法院确定所需证明要件事实时會将其排除,认为无关则张某可能设想,法院的诉辩范围限定过于武断了……

  当法院不断询问与法律相关的事宜并以自己认为的適恰庭审步骤划定范围,与当事人相互交流无论原告或被告,不解、疑惑乃至反感均是可能的;进一步或可能基于对法院直接运用权仂下判对己不利的担忧,或可能基于“只要符合利益预期随便哪条法律均可或随便怎样认定证据均可”的心态及“只要没有利益损失随便法院怎样要求举证”的心态,而对法院的司法方法产生负面印象法院当然可不顾当事人的任何感受,直接提出自己预定的诉讼的法律方案及事实证据观点径直作出审理及裁决。实际上有些法官开庭时的确如此。[34]但对当事人的感受有所考量并避免生硬的态度表现,進而使当事人对庭审产生合作的心理状态显然会使纠纷的解决更顺利。即使败诉一方对最终结果心存不满而庭审过程的话语环境是无鈳指摘的,败诉一方依然可能较易冷静,更可促使后续法律程序在理智的氛围中趋向完成“九步法”提出者曾说道,对当事人的释明、解释和与当事人的交流法院应善于运用方式及技巧,特别是在证据认定过程中法院形成初步心证后是否需要将其表达出来以进一步調整举证方向,应“避免当事人产生对抗心理”[35]而“宋鱼水、袁月全等优秀法官为我们创造了大量成功经验”。[36]

  司法方法研究者已意识到纯粹“技术模型”的逻辑操作缺乏必要的法庭修辞考量及权衡或许是偏颇的。法官处理案件时即使依赖理性化的司法手段处理問题,采取何种态度、语言、表情依然是重要的问题。[37]“当逻辑拼命演绎却又无法自恰的时候便由语言来填补逻辑的空白地带,而当語言苍白无力而又缺乏力量的时候便由修辞来润色语言苍白之处”;[38]“法官在理性证立自己的决断之后,必须使用一定的修辞手段说服判决不利方放弃自己的一部、甚至全部的利益主张接受判决结果”。[39]

  实践中亦有法院在这方面展开了有益尝试。如某些基层法官囷法院继承“马锡五审判方式”的精神[40]形成了“陈燕萍工作法”,[41]或“里心审判方式”[42]强调晓之以理、动之以情。最近的例子如贵州省金沙县法院于2013年9月建立诉讼服务中心,为使群众得到舒心的诉讼服务中心推出微笑甜一点、说话轻一点、行动快一点、脑筋活一点、心再细一点、做事多一点、效率高一点的“八个一”服务。该中心还提供贴心服务一个铁架上,挂着10余把伞一个小金属柜子里,装囿老花镜、医用棉签、速效救心丸、创口贴还有一个架子上放着各种诉讼指南……[43]金沙县法院的尝试,更有将修辞技艺推广至庭审外围嘚其他活动及语言之外的行动表达如有法律实践者所建议的,“与社会沟通、与当事人沟通的方法……也应当作为方法论体系的重要内嫆”[44]“法律要在实践获得大众的内心认同,就必须运用修辞”[45]

  显然,作为司法方法整体框架的元素修辞技艺,如管理策略运用┅样与司法方法中的理性逻辑可形成重要的协作关系。这意味着司法方法的深入理解,不仅需突破理性逻辑的边界启动庭审管理的機制,还需在话语技艺上拓展视野此外,如上所暗示修辞技艺对管理策略亦有辅助作用,消融当事人因法院“管理”元素的介入而可能产生的负面感受当出现矛盾,无论理智上的还是情感上的,修辞的恰当运用能形成有效有益的化解作用其不仅可缓解纠纷出现之初即已建立的冲突境况,使争辩者调整自己的必争心态而且可扭转争辩者的好胜注意力,将其引入纠纷更易解决的路径进一步,使“管理”元素得以顺畅发挥

  司法方法的修辞,与“管理”元素类似具有实用主义纠纷解决的意图和能力,故也可成为司法步骤的要點而予排序但“九步法”提出者并未如此。其当然可能认为修辞问题与“管理”特别是“司法理性”的问题不可同日而语,视为辅助為宜其甚至可能认为,对某些司法者而言他们基于司法中立、严谨、权威等或许受损的担忧,将灵活生动化的修辞问题看作多余且這也许是并非没有道理的,故在正式“方法表”中忽略之未尝不可然而,笔者在此倾向于认为“九步法”提出者如此处理,实际上表奣司法方法的设计本身即存在一个逻辑困难:如果能想象到的手段即使是引发争议的但却均能使人发觉对纠纷解决是有益的那么,“方法表”的步骤要素究竟可排列多少这样一个问题解决起来颇棘手;换言之,将一个要素或若干有限要素,在“方法表”中加以限定會遗漏其他也可能是重要的要素,而无穷无尽地排列各种要素等于是无法界定“一个司法方法”的固定要素除了可能的语言修辞,前面巳提到的金沙区人民法院所做的更广泛的内容如法庭场景如何布置、法庭参与人员如何安排,包括别人可能想到的法官的衣着服饰(这些甚至也可认为与庭审有关系)……是否亦应编入步骤序列身为实务部门的“九步法”提出者,如果坚持着眼于司法的“自在自为”則自然会发觉更多的问题可能有所涉及。

  当然面对上述逻辑困难,也可采取积极的心态即认同一个观点:无法且不应将一个要素戓若干有限要素在“方法表”中加以限定。这意味着为了更有效有益地解决实际的司法问题,应接受司法方法的“内容系谱”的开放性研究者或提倡者,不仅应注意传统的理性手段注意前面一节讨论的“管理”手段,而且需注意法学界已研究但“九步法”提出者却模糊提及的修辞手段包括其他可能的各类手段方式,并需注意这些手段方式之间的相互关系其实,这里的问题关键可能不在于是否应限定司法方法要素的数量,事实上也是无法限定的而在于看到,在何种条件下何种语境中讨论一种包含特定内容的“司法方法”才是有意义的“九步法”的研究及提倡,包括法学界对修辞问题的关注和讨论原本在理论上是可以更有作为的。

  五、司法方法与司法公囸的复杂关系

  司法方法的研究及择举初衷之一或说最重要的,无疑在于实现司法公正一般看,人们倾向于有信心地认为方法的探索,即设想如果推理论证是没有瑕疵的公正的要义便已实现。[46]同样“管理”元素的司法方法重塑,修辞理论的司法方法再造均意茬指示,如此可使司法公正较易形成

  毫无疑问,倡举司法方法与无视司法方法前者显然对司法公正是有意义的。但司法方法与司法公正的关系依然复杂之间的逻辑关系也是颇可争议的。首先一个问题是:司法公正从何角度认定某案件裁判,如办案法官虔诚认真苴认为己是司法公正了其是否足以可被认为是司法公正?众所周知如此认定会引发历史已久远的“司法与民意”的无休止论争。[47]“司法与民意”的长期讨论且至今并无明确解决之方向已深刻表明,这类法官认为的司法公正并无天然的不能争辩的权威地位。如果办案法官认为的司法公正会遇到困难则当事人主张或认为的司法公正更是无法避免。非常明显人们熟知,当事人的愿望之间存在对立利益总是冲突,故一方主张的司法公正恰常为另一方所否认而这正是“当事人标准”失灵的内在机制。

  从社会公众角度作出判断将會怎样?某些情况下针对司法公正的讨论常假定社会有可能存在一种普遍认可的司法公正,而“社会”似乎又指社会公众[48]但认可社会公众的意见作为司法公正的标准,正如认可法官认为的司法公正可能遭遇社会质疑一样面临异议。人们已经发现亦如“司法与民意”嘚广泛讨论所暴露的,社会公众的理解可能出现情绪化表现出“思想上的搭便车”,另可能因为对法律缺乏专业职业的认识故会不自觉哋运用法律之外的“价值判断尺度”如道德的、惯例的、习俗的……以审视司法结果。同时针对某一具体司法裁判,社会公众的判断還可能出现分歧因此,社会公众的司法公正理念作为一种标准同样会令人不安。

  司法公正的学术讨论并对司法公正作出理论上嘚概括,包括辞典式的定义和描述常被理论家视为关于司法公正的“客观”表达。在这一角度上的努力通常是法学家作出的,[49]偶尔是政治学家、伦理学家或社会学家等由于法学家与法官具有“法律人”的家族类似,故他们对概念的认知具有共识性唯一可能的区别在於前者更多表现了一些“抽象”。但正因为提出的关于司法公正的“标准内容”是相近的法学家的学术概括遇到的疑问与前述法官亦为楿近。而政治学家、伦理学家、社会学家等一定程度上可视为社会其他思维类型的代言人,其理论常是其他思维类型的抽象表现故遇箌的疑问,亦与前面提到的当事人或社会公众中的不同群体关于司法公正的态度是类似的

  其实,在“九步法”提出者举例的案件中可深入感受司法公正角度认定问题的棘手。法院依照“九步法”作出了判决支持原告刘某的债权主张,原告刘某可能没有异议且被告黃某或许大体接受判决结果而在旁人看来似乎也属理所当然,但被告张某可能存异议张某会觉得,自己根本不知欠款盖章一事且被告黄某承认自己私盖印章,为何自己应承担连带责任对社会某些人而言,张某的诉讼辩解是可理解的毕竟存在些许冤枉的可能。因此张某会对法院认为的“司法公正”有意见,社会某些人亦会觉得判决似乎有失公允。如此看这个案件中针对被告张某承担连带责任,任何一个谈论“司法公正”的说辞均可能被他人视为某种司法裁决立场的辩解,很难被视为客观、中立的司法公正的表达换言之,任何一个角度的司法公正与否的判断均可能被看作若干小写的“司法公正”的宣言。进一步普遍来看,如果认为司法公正的理念需以某种共识作为基础不是公说婆说、见仁见智,则只要存在关于案件裁决的争议司法公正的确立便是困难的。

  这意味着不论司法方法本身如何,作为结果的司法公正的确认有时可能取决于另外的因素。对司法方法与司法公正的复杂关系而言即使不存在角度差异嘚情形,不存在对裁判结果的不同价值判断问题依然不易讨论司法方法与司法公正的逻辑关联。某些案件或纠纷中的是非问题或许没囿引发不同的意见和争论,正误显见解决方式甚至无需任何专业职业的思路和方式,故其中要求一种司法方法似显多余就此看,讨论司法公正是可以的但也许根本没必要讨论一种司法方法。再看“九步法”提出者所举实例其中原告刘某胜诉,要求被告黄某还钱得到法院的支持被告黄某经过审理也或许认为应该还钱,在其他人看来这些同样不可争辩,但之中的问题解决似乎无需借助一种名为“司法方法”的程式加以实现黄某借钱,留有字据期限一过刘某要求还钱,这样一种事件完全可视为生活中任何人均知怎样处理的日常情形其中无需逻辑判断、步骤判断,甚至无需价值判断其与法律规定的关系没有任何讨论的意义,完全属于法律上甚至社会实践上的常識或常理这意味着,有时没有司法方法并不影响司法公正的实现,进一步有时讨论一种司法方法以过渡到司法公正,令人觉得画蛇添足

  就司法方法与司法公正的关系看,一个强有力的观点可能认为只要法院依照关于实体问题的法律规定,遵循裁判程序的各类法定规则或说将裁判手段融于实体和程序的法律规定中,司法公正的结论便可包含其中[50]显然,这一观点的前提预设在于期待对裁判掱段是否已融于实体和程序法律规定中可存在社会普遍的认同。但前面第二小节的讨论表明对是否符合实体和程序的法律规定,用什么具体方式以实现符合人们有时会存在不同的看法。司法方法的各种细节的争论如理性化的理由是否足够,叮接受性的概念是否成立均表明对如何才属符合实体和程序的法律规定的问题,会出现不同的理念和争执进而言之,一个要害问题是明显的:各种司法方法的主張会以均声称只有自己才是符合实体和程序法律规定的方式,使“符合”呈现多元的局面这意味着,如果认为裁判手段应融于实体和程序的法律规定中便可能出现若干个以“符合法律”为标签的司法方法。在此思路中人们都会“实现”裁判手段符合法律,但针对一個具体案件纠纷解决的司法公正却会存在具体不同的结论。其结果司法公正的概念,完全可能被若干个不同的甚至相互矛盾的“具体洎称司法公正”的现实所瓦解这表明,“符合法律规定”若不能在出现争议时证明自身的逻辑可靠性便无法通向司法公正,而前面第②节的讨论已表明获得这种可靠性显然是困难的。

  六、关于司法方法、司法公正的“公共认同”

  前面一节的讨论并非意在指絀通过司法方法以实现司法公正是没有希望的。这样一种讨论的目的是想提示:在司法方法和司法公正的关系中,如同司法公正本身關键词是“争议”。因为对司法公正的可能的不同理解对司法方法本身的“合法性”的不同理解,“争议”概念实为解决问题的路标倳实上,从人们讨论司法公正开始特别是讨论司法方法如何能实现司法公正的目的,便已意味着现实中对其存在“争议”因此,如何囮解“争议”或许是首要的问题

  化解“争议”,显然不是试图实现所有人的赞同和支持此既难诉诸实践,又不甚可能但的确可發现任何领域的“争议”,某些逐步减弱甚至在特定时段逐步消失。因此就司法公正及司法方法与司法公正的关系而言,化解“争议”的努力意味着如何在司法方法中寻求多样化的途径以增添相互理解,在一定语境一定时段实现“某种程度的公共认同”

  而在司法方法中寻求多样化的途径,需要首先深入理解司法过程中针对司法公正及司法方法与司法公正的关系为何会出现“争议”。以往通常認识或研究如前述已涉及,将原因主要归于司法方法逻辑方面的不完善、诉讼利益的对立、知识判断及价值判断的分歧等毫无疑问,這些不完善、对立及分歧当然是重要的原因,但若进入具体的司法场景可发现产生、影响“争议”的因素是复杂的,或说不止于这些仍以“九步法”提出者涉及的案件审理为例。被告张某完全可能认为自己不知道欠款一事,不知道与自己家庭关系已存问题的妻子私蓋印章一事[51]故判决承担担保连带责任是司法不公,某些旁观者亦会表示难以理解担保责任的成立。就此而言第一,如果法官仅推出匼同法及担保法的具体法律规定不做其他说明或解释努力,则被告张某及某些旁观者会感觉司法过程与自己理解的公正存在差距,且會不断追问法院为何仅如此?第二如果庭审过程中,被告张某不断陈述自己与妻子的复杂的不和关系以间接证明自己无责,而法官卻强调“这些陈述与本案没有直接关系”则张某及某些旁观者会追问,为何法官要如此断定是否武断?进一步为何法官不能给被告哆一些抗辩的机会,或说为何法官不能表现出多一点的耐心第三,如果法官仅阐述法律规定且庭审态度颇严肃,被告张某及某些旁观鍺可能会觉得司法过程有些“生硬”甚或“专横”可能会发问,为何法官不能多做一些如以通俗方法阐述为何需适用担保法的具体规萣,且庭审态度友善被告张某及某些旁观者可能想知道,为何让当事人败诉“败得明白”不能成为司法过程的必要组成部分?可能还會问诉讼特别是民事诉讼中,号称“人民法院”的法官为何不能展示一些“关怀”如现正在大力提倡的“为民司法”,而一定要像过詓的“旧衙门”横眉竖眼……这意味着围绕司法公正及司法方法与司法公正关系出现的“争议”,其原因显然还有其他方面的,如法律行业外与法律行业内的关于“正当”的理解惯习的差异当事人及社会其他人对司法过程的心理情感预期……进一步,可发现关于司法公正及司法方法与司法公正关系出现的“争议”,涉及广泛的司法职业人与社会一般人之间的各类彼此关系的往来实践甚至其他因素。

  正是在此意义上一定语境一定时段实现“某种程度上的公共认同”,其根本在于设想并运用各种可能的手段以积极面对并处理司法职业人与社会一般人之间不断延展的矛盾的相互性

  还看“九步法”方案的努力。作为司法方法并作为期待有助于司法公正实现嘚裁判手段,“九步法”首先尤为注意理性逻辑将以往理论化的方法论设想加以具体化。此无疑是有益的通过庭审清晰剥离问题层次,在可论证的言说通道中推进等于是尽力实现当事人、旁观者与法院之间的就纠纷如何“合法”解决而言的某种程度的“公共认同”。莋为具有实务历练背景并期待较顺利地解决现实司法问题的法律人其提出的“九步法”,其次特别注意成本效率或称“管理”,即节約司法资源此同样有益。难以想象如果放任庭审无节奏的拖沓,不仅法院无法承受更多的时间与精力的压力而且某些当事人亦会颇囿抱怨,[52]旁观者亦会存不解注意效率或说“管理”的概念,实质目的之一也在于实现某种程度的“公共认同”,即寻找诉讼资源如何汾配的理解平衡点当然,再次作为并不清晰明确的一个努力,“九步法”辅助性地涉及了“尽量缓解法庭紧张气氛”的理念通过法官就法律及证据而言的措辞温和的释明、解说和提示,及与当事人的友善交流当事人可逐步理解具体司法的用意所在,且可能出现一定程度的配合意愿以促进庭审顺利展开,更重要的当事人因此可出现某些相互理解,达成心理情感上的“公共认同”而旁观者亦会心存“公共认同”性的欣慰。

  我们能看到尽管如前面第二、三、四小节分析,“九步法”存在进一步辨析甚至可商榷的问题但其努仂方向,是值得推崇的其显然不经意地触及到了司法公正及司法方法与司法公正关系的“争议”关节点,及“争议”的开放路向最关鍵的,其思考逻辑指向了司法公正及司法方法与司法公正关系研究的一个较佳途径:不断发现“争议”的层次空间并不断寻求解决方案鉯期实现“公共认同”。

  那么前面提到的“公共认同”是一定程度、一定时段的,此意味着什么在“九步法”提出者涉及的案件審理中,原告刘某及被告黄某大致认为法庭审理过程是合理的,氛围亦可接受而被告张某对自己承担连带偿还责任可能存异议。这种凊形中若法官通过合理、适当的法律分析,如指出被告张某已知夫妻关系不和故应注意保管好自己的印章免被私盖,又如指出被告張某保护自己的印章可能是困难的,但毕竟未保管好印章是存过失的而让原告刘某因此失去担保连带责任主张的债权,更不适宜因为,原告刘某可认定为善意第三人其没有任何过失,法律常明确规定了不可对抗善意第三人同时,法官给与被告张某一定的辩解时间尣许其表达不重复的更多理由,如果的确这样此庭审过程实现的“公共认同”的一定程度、一定时段,是可觉察的被告张某,包括其怹旁观者就这种情况而言,显然要比面对仅告知法律规定如此证据只能如此认定,较能认同法庭审理及裁判其实,“争议”的减弱戓“公共认同”的实现是相对的概念,显然不指全然没有“争议”、彻底见出“公共认同”如果当事人、旁观者及法官均认为,这样┅个案件审理到如此程度,就“争议”的减弱及“公共认同”的实现没有什么可再努力的即可谓之“一定程度”“一定时段”。

  遵循“争议”或上述“公共认同”的概念以思考司法公正思考司法方法与司法公正的关系,其最重要的意义在于理解司法方法的多样囮及其辩证合作,对司法公正的“公共认同”实现的价值因此,不仅认识“争议”或“公共认同”产生原因的多样性、广泛性是重要的而且认识到将对应的司法方法要素相互辩证地结合起来,看到开放性同样重要。

  “争议”特别是上述“公共认同”的概念最终戓意味着,任何单独一方将自己的司法公正理解定义为普适的将自己理解的司法方法与司法公正的关系视为“真正”的,均将步履艰难也因此,过去法学界一直努力的、通过语义及学术惯常操作方式以寻找教科书式的“概念”的运作或许更多为一厢情愿,置身实践中它们总会遭遇“不满”“非议”甚至“抗拒”:一方面,此是因为法律实践的利益对立始终会发挥操纵分裂的作用另一方面,社会中鈈同知识理解、价值判断和心理情感亦会发挥挑起分裂的作用就这点看,试图寻求一劳永逸的概念并依此控制、束缚、强迫司法实践,作为衡量一切司法公正、司法方法、司法方法与司法公正的关系的“巴黎公尺线”终归易进入思想的乌托邦,或不经意地成为压抑他鍺具体司法实践期待的一个话语策略“争议”及上述“公共认同”,指示着动态的“实践”也指示着在“实践”中不断形成新的关于司法公正、司法方法、司法方法与司法公正的关系的互动认识及实践方案。

  笔者深入至这一层面并作出强调是想表明,在具体实践Φ发现人们已接受的某一“司法公正”、某一“司法方法”及某一“司法方法与司法公正的关系”存在的具体问题辨析其得失,以获得┅定程度一定时段的公共认同性质的相关确认远比寻求关于这些内容的普适的标准界说来得有益。

  “要件审判九步法”司法方法建構的积极意义正在于:尽力着眼具体的司法实践探索具体解决司法方法问题的手段,并包含了一个学术意义的潜在逻辑张力即暗示司法方法的开放性。显然在真实的具体司法中,司法者遇到的问题总是“丰富多彩”甚至“措手不及”,更重要的不能忘记,司法者使用的任何一种司法方法必定面对当事人和社会其他旁观者的知识辨析、价值揣测和“情感评判”。如果不在意司法者之外的社会主体嘚感受反思相互关系,或说主体间的相互性司法原有的目的和希望常会适得其反。为有效并有益解决司法实践问题的司法者不论自覺与否,注定会发觉这是需正视的

【注释】 *作者单位:中国政法大学。本文为国家社科基金项目《“法律与文学”的意义:以中国基层司法实践为中,c》(13BFX014)的阶段性成果 

[1]具体例子见下文第四小节。 

[2]谢圣华、徐光明、宁杰:《长宁“要件审判九步法”创出新境界:人均结案同比上升36件平均审理天数减少12天》,载《人民法院报》2009年11月16 日第1版 

[3]关于法官撰文,如贾石松、郑蕾:《要件审判九步法的具体运用》《人民司法》2014年第5期.关于《人民法院报》及《人民司法》报道宣扬,如宁杰、王建平、孙海峰:《要件审判九步法:法庭上的剑谱》载《人民法院报》2010年1月11日第5版;陈婷婷、孙海峰、王建平:《推行要件审判九步法的调查报告》,《人民司法》2011年第3期 

[4]提出者即邹碧华法官。参见邹碧华:《“要件审判九步法”解析》(作者简介)《中国审判》2010年第2期。另本文完成后多日,惊闻邹碧华法官突然去世笔者特向这位优秀法官深表敬意。 

[5]参阅邹碧华、王建平、陈婷婷:《审视与探索—要件审判九步法的提出和运用》载最高人民法院主辦“全国法院系统第二十二届学术讨论会”(2011年1月20日中国福建福州)之《全国法院系统第二十二届学术讨论会论文集》,第1~18页也可见丅文。 

[6]“要件审判九步法”提出者曾提到此方法“表明司法方法开始更多地强调从诉讼流程的各个具体环节出发进行考察和分析”。参見同前注[4]邹碧华文。 

[7]该方法提出者指出“要件审判九步法可运用于审判管理……有利于尽快树立审判方向,尽快明确审理方向……”邹碧华:《要件审判九步法及其价值》,《人民司法》2011年第3期 

[8]关于这种创新机制的一个初步讨论,参阅单云娟、周立:《能动司法背景下的民商事案件争点整理技术方法分析—以保障审判权有效运行为视角》载2011年《全国法院系统第二十二届学术讨论会论文集》,该文苐11页 

[9]以上所述“九步法”基本内容,包括理论化和实践化色彩同前注[7],邹碧华文更详尽内容,可参阅邹碧华专著(《要件审判九步法》法律出版社2010年版)。 

[10]有评论便提到“纵观当前的司法方法研究,理论性强实践性弱,形而上高蹈玄虚乱花渐欲迷人眼”。见湔注[3]宁杰、王建平、孙海峰文。法学界也有学者提到了类似问题如认为,“法律方法论的研究与服务司法实践的趋向之间产生很大的距离”焦宝乾、陈金钊:《法律方法论学科意识的觉醒—2007年度中国法律方法论研究学术报告》,《山东大学学报》(哲学社会科学版)2008年苐3期 

[12]关于以社司法方法或法律方法在这方面的欧陆国家情形,可参阅[德]卡尔·拉伦兹:《法学方法论》,陈爱娥译,商务印书馆2004年版苐1 ~ 20页。更广泛的中外情形可参阅焦宝乾:《法律论证:思维与方法》,北京大学出版社2010年版第42~51页。一个最直接认为“正确、有效哋解决实际发生的案件与法律规定的相互关联”的具体例子可参阅谢晖:《论司法方法的复杂运用》,《法律科学》2012年第6期 

[15]关于不同看法,参见封加德:《夫妻互相担保之我见》《法学》1999年第2期 

[16]有学者注意到了这个问题,例如孙广宁:《判决理由的详略之辩:基于判决的可接受性》,《广西社会科学》2012年第6期 

[17]在大多数关于某具体司法裁判理由的讨论中,可发现这样的观点例子,参见王申:《法官的理性与说理的判决》,《政治与法律》2011年第12期;刘乔发:《论民事判决说理的原则及方法》《人民司法》2008年第13期。 

[18]这些理论现通常被視为法学常识恕不举例。 

[19]参见苏力:《解释的难题:对几种法律文本解释方法的追问》载梁治平编《法律解释问题》,法律出版社1998年蝂第30~64页。 

[20]赞同审判独立或司法独立的人基本上持此观点这是众所周知的,恕不例举 

[21]参见[美]欧文·费斯:《如法所能》,师帅译中國政法大学出版社2008年版,第203页 

[26]有评论即提到,该法“标准化的裁判步骤严格遵循法律要件,减少了法官的主观随意性提高了法律适鼡结果的同一性,同案同判有了很大保证”同前注[3],宁杰、王建平、孙海峰文 

[27]如人们熟知的美国批判法学的相关理论 

[28]这方面的情形,鈳参见前注[10]焦宝乾、陈金钊文 

[29]法学界个别者讨论“争点整理”问题,似可视为“管理”思路的一种尝试因为“争点整理”是某种程度仩的理由论辩的调整。著作例子如年联恭:《争点整理方法论》(三民书局2001年版)。 

[30]如最高人民法院吴兆祥认为司法方法体系中应包含管理内容;山东省临沂市中级人民法院院长李方民认为,司法方法研究要注意审判管理的问题见谢圣华、宁杰、徐公明、王建平:《加强司法方法研究,提高司法工作水平—司法方法研讨会观点辑要》载《人民法院报》2009年11月26日第5版。 

[31]参见秦宗文、朱凤翔:《论判前说悝与判后答疑制度》《唯实》2007年第4期。 

[34]笔者接触过一些基层法院的法官其中多数正是这样。原因肯定是复杂的如法官时间精力有限、个性。 

[37]张云秀:《论法官的修辞》载陈金钊、谢晖主编《法律方法》(第11卷),山东人民出版社2011年第49~57页;孙光宁:《判决书写作Φ的消极修辞与积极修辞》,《法制与社会发展》2011年第3期;余素青:《判决书叙事修辞的可接受性分析》《当代修辞学》2013年第3期。 

[38]洪浩、陈虎:《论判决的修辞》《北大法律评论》(2003)第5卷第2辑,法律出版社2004年第426页。 

[39]侯学勇:《司法修辞方法在社会正义实现中的作用》《法律科学》2012年第1期。 

[40]关于“马锡五审判方式”参阅张希坡:《马锡五与马锡五审判方式》,法律出版社2013年第187~197页。 

[41]关于“陈燕萍工作法”参阅江苏法院陈燕萍工作法研究小组:《情法辉映、曲直可鉴—陈燕萍工作法研究报告》,《人民司法》2010年第9期 

[42]关于“里惢审判方式”,参阅吕坤良、梅贤明、杨怀荣、修晓贞;《地偏法不远—福建建宁法院里心法庭调查》载《人民法院报》 

[43]参见金晶、杨鎮涛:《“让群众得到有尊严的诉讼服务”—贵州金沙法院诉讼服务中心见闻》,载《人民法院报》2014年6月23日第1版 

[44]黑龙江省高级人民法院副院长崔军所说,见前注[30]谢圣华、宁杰、徐公明、王建平文。 

[45]秦川:《判决离不开修辞》载《人民法院报》2012年10月24日第2版。 

[46]例于见熊奣辉:《法律逻辑方法与司法公正实现》,《中山大学学报》(哲学社会科学版)2011年第5期 

[47]参见孙笑侠、熊静波:《判决与民意—兼比较栲察中美法官如何对待民意》,《政法论坛》2005年第5期 

[48]如法学界不断提到的司法“可接受性”概念,即存此意 

[49]中国的例子,参见姚莉:《司法公正要素分析》《法学研究》2003年第5期;何家私:《司法公正论》,《中国法学》1999年第2期 

[50]类似观点的例子,同前注[49]姚莉文;同湔注[49],何家弘文 

[51]关于与妻子不合的案情,同前注[4]邹碧华文。 

[52]对当事人而言正如某些当事人认为法庭给与自己更多陈述机会方为司法公正一样,其他当事人尤其是对方当事人却会认为,这是损害自己权益且无司法公正可言

LINGO是用来求解线性和非线性优化问題的简易工具LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题利用LINGO高效的求解器可快速求解并分析结果。 §1 LINGO快速入门 當你在windows下开始运行LINGO系统时会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO 为了能够使用LINGO的强大功能接着第二节的学习吧。 §2 LINGO中的集 对实际问题建模的时候总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通工具和雇工等等LINGO允许把这些相联系的对象聚合成集(sets)。一旦把对象聚合成集就可以利用集来最大限度的发挥LINGO建模语言的优势。 现在我们将深入介绍如何创建集并用数据初始化集的属性。学完本节后你对基于建模技术嘚集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言的基础是程序设计最强有力的基本构件。借助于集能够用一个单┅的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型 2.2 什么是集 集是一群相联系的对象,这些對象也称为集的成员一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征我们把这些特征称为属性。属性值可以预先给定也可以是未知的,有待于LINGO求解例如,产品集中的每个产品可以有一个价格属性;卡车集中的每辆卡车可以有┅个牵引力属性;雇员集中的每位雇员可以有一个薪水属性也可以有一个生日属性等等。 LINGO有两种类型的集:原始集(primitive set)和派生集(derived set) 一个原始集是由一些最基本的对象组成的。 一个派生集是用一个或多个其它集来定义的也就是说,它的成员来自于其它已存在的集 2.3 模型的集蔀分 集部分是LINGO模型的一个可选部分。在LINGO模型中使用集之前必须在集部分事先定义。集部分以关键字“sets:”开始以“endsets”结束。一个模型可鉯没有集部分或有一个简单的集部分,或有多个集部分一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们 2.3.1 定义原始集 为了定义一个原始集,必须详细声明: ?集的名字 ?可选集的成员 ?可选,集成员的属性 定义一個原始集用下面的语法: setname[/member_list/][:attribute_list]; 注意:用“[]”表示该部分内容可选。下同不再赘述。 Setname是你选择的来标记集的名字最好具有较强的可读性。集名字必须严格符合标准命名规则:以拉丁字母或下划线(_)为首字符其后由拉丁字母(A—Z)、下划线、阿拉伯数字(0,1…,9)组成嘚总长度不超过32个字符的字符串且不区分大小写。 注意:该命名规则同样适用于集成员名和属性名等的命名 Member_list是集成员列表。如果集成員放在集定义中那么对它们可采取显式罗列和隐式罗列两种方式。如果集成员不放在集定义中那么可以在随后的数据部分定义它们。 ① 当显式罗列成员时必须为每个成员输入一个不同的名字,中间用空格或逗号搁开允许混合使用。 例2.1 可以定义一个名为students的原始集它具有成员John、Jill、Rose和Mike,属性有sex和age: 在集部分只定义了一个集students并未指定成员。在数据部分罗列了集成员John、Jill、Rose和Mike并对属性sex和age分别给出了值。 集荿员无论用何种字符标记,它的索引都是从1开始连续计数在attribute_ list可以指定一个或多个集成员的属性,属性之间必须用逗号隔开 可以把集、集荿员和集属性同C语言中的结构体作个类比。如下图: 集 ←→ 结构体 集成员 ←→ 结构体的域 集属性 ←→ 结构体实例 LINGO内置的建模语言是一种描述性语言用它可以描述现实世界中的一些问题,然后再借助于LINGO求解器求解因此,集属性的值一旦在模型中被确定就不可能再更改。茬LINGO中只有在初始部分中给出的集属性值在以后的求解中可更改。这与前面并不矛盾初始部分是LINGO求解器的需要,并不是描述问题所必须嘚 2.3.2 定义派生集 setname是集的名字。parent_set_list是已定义的集的列表多个时必须用逗号隔开。如果没有指定成员列表那么LINGO会自动创建父集成员的所有组匼作为派生集的成员。派生集的父集既可以是原始集也可以是其它的派生集。 例2.3 sets: product/A B/; machine/M N/; week/1..2/; 成员列表被忽略时派生集成员由父集成员所有的组合構成,这样的派生集成为稠密集如果限制派生集的成员,使它成为父集成员所有组合构成的集合的一个子集这样的派生集成为稀疏集。同原始集一样派生集成员的声明也可以放在数据部分。一个派生集的成员列表有两种方式生成:①显式罗列;②设置成员资格过滤器当采用方式①时,必须显式罗列出所有要包含在派生集中的成员并且罗列的每个成员必须属于稠密集。使用前面的例子显式罗列派苼集的成员: allowed(product,machine,week)/A M 1,A N 2,B N 1/; 如果需要生成一个大的、稀疏的集,那么显式罗列就很讨厌幸运地是许多稀疏集的成员都满足一些条件以和非成员相区分。我们可以把这些逻辑条件看作过滤器在LINGO生成派生集的成员时把使逻辑条件为假的成员从稠密集中过滤掉。 例2.4 sets: 用竖线(|)来标记一个成員资格过滤器的开始#eq#是逻辑运算符,用来判断是否“相等”可参考§4. &1可看作派生集的第1个原始父集的索引,它取遍该原始父集的所有荿员;&2可看作派生集的第2 个原始父集的索引它取遍该原始父集的所有成员;&3,&4……,以此类推注意如果派生集B的父集是另外的派生集A,那么上面所说的原始父集是集A向前回溯到最终的原始集其顺序保持不变,并且派生集A的过滤器对派生集B仍然有效因此,派生集的索引个数是最终原始父集的个数索引的取值是从原始父集到当前派生集所作限制的总和。 总的来说LINGO可识别的集只有两种类型:原始集囷派生集。 在一个模型中原始集是基本的对象,不能再被拆分成更小的组分原始集可以由显式罗列和隐式罗列两种方式来定义。当用顯式罗列方式时需在集成员列表中逐个输入每个成员。当用隐式罗列方式时只需在集成员列表中输入首成员和末成员,而中间的成员甴LINGO产生 另一方面,派生集是由其它的集来创建这些集被称为该派生集的父集(原始集或其它的派生集)。一个派生集既可以是稀疏的也可以是稠密的。稠密集包含了父集成员的所有组合(有时也称为父集的笛卡尔乘积)稀疏集仅包含了父集的笛卡尔乘积的一个子集,可通过显式罗列和成员资格过滤器这两种方式来定义显式罗列方法就是逐个罗列稀疏集的成员。成员资格过滤器方法通过使用稀疏集荿员必须满足的逻辑条件从稠密集成员中过滤出稀疏集的成员不同集类型的关系见下图。 §3 模型的数据部分和初始部分 在处理模型的数據时需要为集指派一些成员并且在LINGO求解模型之前为集的某些属性指定值。为此LINGO为用户提供了两个可选部分:输入集成员和数据的数据蔀分(Data Section)和为决策变量设置初始值的初始部分(Init Section)。 3.1 模型的数据部分 3.1.1 数据部分入门 数据部分提供了模型相对静止部分和数据分离的可能性显然,这对模型的维护和维数的缩放非常便利 数据部分以关键字“data:”开始,以关键字“enddata”结束在这里,可以指定集成员、集的属性其语法如下: object_list = value_list; 对象列(object_list)包含要指定值的属性名、要设置集成员的集名,用逗号或空格隔开一个对象列中至多有一个集名,而属性名鈳以有任意多如果对象列中有多个属性名,那么它们的类型必须一致如果对象列中有一个集名,那么对象列中所有的属性的类型就是這个集 数值列(value_list)包含要分配给对象列中的对象的值,用逗号或空格隔开注意属性值的个数必须等于集成员的个数。看下面的例子 X,Y=1 4 2 5 3 6; enddata 看到这个例子,可能会认为X被指定了1、4和2三个值因为它们是数值列中前三个,而正确的答案是1、2和3假设对象列有n个对象,LINGO在为对象指萣值时首先在n个对象的第1个索引处依次分配数值列中的前n个对象,然后在n个对象的第2个索引处依次分配数值列中紧接着的n个对象……,以此类推 模型的所有数据——属性值和集成员——被单独放在数据部分,这可能是最规范的数据输入方式 3.1.2 参数 在数据部分也可以指萣一些标量变量(scalar variables)。当一个标量变量在数据部分确定时称之为参数。看一例假设模型中用利率8.5%作为一个参数,就可以象下面一样输叺一个利率作为参数 例3.3 data: interest_rate = .085; enddata 也可以同时指定多个参数。 例3.4 data: interest_rate,inflation_rate = .085 .03; enddata 3.1.3 实时数据处理 在某些情况对于模型中的某些数据并不是定值。譬如模型中有一个通货膨胀率的参数我们想在2%至6%范围内,对不同的值求解模型来观察模型的结果对通货膨胀的依赖有多么敏感。我们把这种情况称为实時数据处理(what if 直接输入一个值再点击OK按钮LINGO就会把输入的值指定给inflation_rate,然后继续求解模型 除了参数之外,也可以实时输入集的属性值但鈈允许实时输入集成员名。 3.1.4 指定属性为一个值 可以在数据声明的右边输入一个值来把所有的成员的该属性指定为一个值看下面的例子。 唎3.6 sets: days /MO,TU,WE,TH,FR,SA,SU/:needs; 有时只想为一个集的部分成员的某个属性指定值而让其余成员的该属性保持未知,以便让LINGO去求出它们的最优值在数据声明中输入两個相连的逗号表示该位置对应的集成员的属性值未知。两个逗号间可以有空格 例3.8 sets: years/1..5/: capacity; endsets data: capacity = ,34,20,,; enddata 属性capacity的第2个和第3个值分别为34和20,其余的未知 3.2 模型的初始部分 初始部分是LINGO提供的另一个可选部分。在初始部分中可以输入初始声明(initialization statement),和数据部分中的数据声明相同对实际问题的建模时,初始部分并不起到描述模型的作用在初始部分输入的值仅被LINGO求解器当作初始点来用,并且仅仅对非线性模型有用和数据部分指定变量的值不同,LINGO求解器可以自由改变初始部分初始化的变量的值 一个初始部分以“init:”开始,以“endinit”结束初始部分的初始声明规则和数据蔀分的数据声明规则相同。也就是说我们可以在声明的左边同时初始化多个集属性,可以把集属性初始化为一个值可以用问号实现实時数据处理,还可以用逗号指定未知数值 例3.9 init: X, Y = 0, .1; endinit Y=@log(X); X^2+Y^2<=1; 好的初始点会减少模型的求解时间。 在这一节中我们仅带大家接触了一些基本的数据输入囷初始化概念,不过现在你应该可以轻松的为自己的模型加入原始数据和初始部分啦 §4 LINGO函数 有了前几节的基础知识,再加上本节的内容你就能够借助于LINGO建立并求解复杂的优化模型了。 LINGO有9种类型的函数: 1. 1. 基本运算符:包括算术运算符、逻辑运算符和关系运算符 2. 2. 数學函数:三角函数和常规的数学函数 3. 3. 金融函数:LINGO提供的两种金融函数 4. 4. 概率函数:LINGO提供了大量概率相关的函数 5. 5. 变量界定函数:這类函数用来定义变量的取值范围 6. 6. 集操作函数:这类函数为对集的操作提供帮助 7. 7. 集循环函数:遍历集的元素执行一定的操作的函数 8. 8. 数据输入输出函数:这类函数允许模型和外部数据源相联系,进行数据的输入输出 9. 9. 辅助函数:各种杂类函数 4.1 基本运算符 这些運算符是非常基本的甚至可以不认为它们是一类函数。事实上在LINGO中它们是非常重要的。 4.1.1 算术运算符 算术运算符是针对数值进行操作的LINGO提供了5种二元运算符: ^ 乘方 ﹡ 乘 / 除 ﹢ 加 ﹣ 减 LINGO唯一的一元算术运算符是取反函数“﹣”。 这些运算符的优先级由高到底为: 高 ﹣(取反)   ^     ﹡/   低 ﹢﹣ 运算符的运算次序为从左到右按优先级高低来执行运算的次序可以用圆括号“()”来改变。 例4.1 算术运算符示例 2﹣5/3,(2﹢4)/5等等 4.1.2 逻辑运算符 在LINGO中,逻辑运算符主要用于集循环函数的条件表达式中来控制在函数中哪些集成员被包含,哪些被排斥在创建稀疏集时用在成员资格过滤器中。 LINGO具有9种逻辑运算符: #not#  否定该操作数的逻辑值#not#是一个一え运算符 #eq#  若两个运算数相等,则为true;否则为flase #ne# 若两个运算符不相等则为true;否则为flase #gt# 若左边的运算符严格大于右边的运算符,则为true;否则為flase #ge#  若左边的运算符大于或等于右边的运算符则为true;否则为flase #lt#  若左边的运算符严格小于右边的运算符,则为true;否则为flase #le#  若左边的运算符尛于或等于右边的运算符则为true;否则为flase #and#  仅当两个参数都为true时,结果为true;否则为flase 在LINGO中关系运算符主要是被用在模型中,来指定一个表達式的左边是否等于、小于等于、或者大于等于右边形成模型的一个约束条件。关系运算符与逻辑运算符#eq#、#le#、#ge#截然不同前者是模型中該关系运算符所指定关系的为真描述,而后者仅仅判断一个该关系是否被满足:满足为真不满足为假。 LINGO有三种关系运算符:“=”、“<=”囷“>=”LINGO中还能用“<”表示小于等于关系,“>”表示大于等于关系LINGO并不支持严格小于和严格大于关系运算符。然而如果需要严格小于囷严格大于关系,比如让A严格小于B:A = 4.2 数学函数 LINGO提供了大量的标准数学函数: @abs(x) 返回x的绝对值 @sin(x) 返回x的整数部分当x>=0时,返回不超过x的最大整数;当x<0时返回不低于x的最大整数。 @smax(x1,x2,…,xn) 返回x1x2,…xn中的最大值 @smin(x1,x2,…,xn) 返回x1,x2…,xn中的最小值 例4.3 给定一个直角三角形求包含该三角形的最小囸方形。 解:如图所示 求最小的正方形就相当于求如下的最优化问题: LINGO代码如下: @bnd(0,x,1.57); end 在上面的代码中用到了函数@bnd,详情请见4.5节 4.3 金融函数 目前LINGO提供了两个金融函数。 1.@fpa(I,n) 返回如下情形的净现值:单位时段利率为I连续n个时段支付,每个时段支付单位费用若每个时段支付x单位嘚费用,则净现值可用x乘以@fpa(I,n)算得@fpa的计算公式为 。 净现值就是在一定时期内为了获得一定收益在该时期初所支付的实际费用 例4.4 贷款买房問题 贷款金额50000元,贷款年利率5.31%采取分期付款方式(每年年末还固定金额,直至还清)问拟贷款10年,每年需偿还多少元 LINGO代码如下: 50000 = x * @fpa(.0531,10); 答案是x=元。 2.@fpl(I,n) 返回如下情形的净现值:单位时段利率为I第n个时段支付单位费用。@fpl(I,n)的计算公式为 细心的读者可以发现这两个函数间的关系: 。 4.4 概率函数 1.@pbn(p,n,x) 二项分布的累积分布函数当n和(或)x不是整数时,用线性插值法进行计算 2.@pcx(n,x) 自由度为n的χ2分布的累积分布函数。 3.@peb(a,x) 当箌达负荷为a服务系统有x个服务器且允许无穷排队时的Erlang繁忙概率。 4.@pel(a,x) 当到达负荷为a服务系统有x个服务器且不允许排队时的Erlang繁忙概率。 5.@pfd(n,d,x) 洎由度为n和d的F分布的累积分布函数 6.@pfs(a,x,c) 当负荷上限为a,顾客数为c平行服务器数量为x时,有限源的Poisson服务系统的等待或返修顾客数的期望值a是顾客数乘以平均服务时间,再除以平均返修时间当c和(或)x不是整数时,采用线性插值进行计算 7.@phg(pop,g,n,x) 超几何(Hypergeometric)分布的累积分布函數。pop表示产品总数g是正品数。从所有产品中任意取出n(n≤pop)件pop,gn和x都可以是非整数,这时采用线性插值进行计算 8.@ppl(a,x) Poisson分布的线性损夨函数,即返回max(0,z-x)的期望值其中随机变量z服从均值为a的Poisson分布。 9.@pps(a,x) 均值为a的Poisson分布的累积分布函数当x不是整数时,采用线性插值进行计算 10.@psl(x) 单位正态线性损失函数,即返回max(0,z-x)的期望值其中随机变量z服从标准正态分布。 11.@psn(x) 标准正态分布的累积分布函数 12.@ptd(n,x) 自由度为n的t分布的累積分布函数。 13.@qrand(seed) 产生服从(0,1)区间的拟随机数@qrand只允许在模型的数据部分使用,它将用拟随机数填满集属性通常,声明一个m×n的二维表m表礻运行实验的次数,n表示每次实验所需的随机数的个数在行内,随机数是独立分布的;在行间随机数是非常均匀的。这些随机数是用“分层取样”的方法产生的 例4.5 model: data: M=4; N=2; seed=1234567; enddata 限制x为整数 在默认情况下,LINGO规定变量是非负的也就是说下界为0,上界为+∞@free取消了默认的下界为0的限制,使变量也可以取负值@bnd用于设定一个变量的上下界,它也可以取消默认下界为0的约束。 4.6 集操作函数 LINGO提供了几个函数帮助处理集 1.@in(set_name,primitive_index_1 [,primitive_index_2,…]) @function相应於下面罗列的四个集循环函数之一;setname是要遍历的集;set_ index_list是集索引列表;conditional_qualifier是用来限制集循环函数的范围,当集循环函数遍历集的每个成员时LINGO嘟要对conditional_qualifier进行评价,若结果为真则对该成员执行@function操作,否则跳过继续执行下一次循环。expression_list是被应用到每个集成员的表达式列表当用的是@for函数时,expression_list可以包含多个表达式其间用逗号隔开。这些表达式将被作为约束加到模型中当使用其余的三个集循环函数时,expression_list只能有一个表達式如果省略set_index_list,那么在expression_list中引用的所有属性的类型都是setname集 maxv=@max(number(I) | I #ge# N-2: x); end 下面看一个稍微复杂一点儿的例子。 例4.13 职员时序安排模型 一项工作一周7天都需偠有人(比如护士工作)每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天试求每周所需最少職员数,并给出安排注意这里我们考虑稳定后的情况。 model: START( SUN) 0..000000 从而解决方案是:每周最少需要22个职员周一安排8人,周二安排2人周三无需安排人,周四安排6人周五和周六都安排3人,周日无需安排人 4.8 输入和输出函数 输入和输出函数可以把模型和外部数据比如文本文件、数据庫和电子表格等连接起来。 1.@file函数 该函数用从外部文件中输入数据可以放在模型中任何地方。该函数的语法格式为@file(’filename’)这里filename是文件名,可以采用相对路径和绝对路径两种表示方式@file函数对同一文件的两种表示方式的处理和对两个不同的文件处理是一样的,这一点必须注意 例4.14 以例1.2来讲解@file函数的用法。 注意到在例1.2的编码中有两处涉及到数据第一个地方是集部分的6个warehouses集成员和8个vendors集成员;第二个地方是数据蔀分的capacity,demand和cost数据 为了使数据和我们的模型完全分开,我们把它们移到外部的文本文件中修改模型代码以便于用@file函数把数据从文本文件Φ拖到模型中来。修改后(修改处代码黑体加粗)的模型代码如下: model: 把记录结束标记(~)之间的数据文件部分称为记录如果数据文件中沒有记录结束标记,那么整个文件被看作单个记录注意到除了记录结束标记外,模型的文本和数据同它们直接放在模型里是一样的 我們来看一下在数据文件中的记录结束标记连同模型中@file函数调用是如何工作的。当在模型中第一次调用@file函数时LINGO打开数据文件,然后读取第┅个记录;第二次调用@file函数时LINGO读取第二个记录等等。文件的最后一条记录可以没有记录结束标记当遇到文件结束标记时,LINGO会读取最后┅条记录然后关闭文件。如果最后一条记录也有记录结束标记那么直到LINGO求解完当前模型后才关闭该文件。如果多个文件保持打开状态可能就会导致一些问题,因为这会使同时打开的文件总数超过允许同时打开文件的上限16 当使用@file函数时,可把记录的内容(除了一些记錄结束标记外)看作是替代模型中@file(’filename’)位置的文本这也就是说,一条记录可以是声明的一部分整个声明,或一系列声明在数据文件Φ注释被忽略。注意在LINGO中不允许嵌套调用@file函数 2.@text函数 该函数被用在数据部分用来把解输出至文本文件中。它可以输出集成员和集属性值其语法为 @text([’filename’]) 这里filename是文件名,可以采用相对路径和绝对路径两种表示方式如果忽略filename,那么数据就被输出到标准输出设备(大多数情形嘟是屏幕)@text函数仅能出现在模型数据部分的一条语句的左边,右边是集名(用来输出该集的所有成员名)或集属性名(用来输出该集属性的值) @OLE是从EXCEL中引入或输出数据的接口函数,它是基于传输的OLE技术OLE传输直接在内存中传输数据,并不借助于中间文件当使用@OLE时,LINGO先裝载EXCEL再通知EXCEL装载指定的电子数据表,最后从电子数据表中获得Ranges为了使用OLE函数,必须有EXCEL5及其以上版本OLE函数可在数据部分和初始部分引叺数据。 @OLE可以同时读集成员和集属性集成员最好用文本格式,集属性最好用数值格式原始集每个集成员需要一个单元(cell),而对于n元的派苼集每个集成员需要n个单元这里第一行的n个单元对应派生集的第一个集成员,第二行的n个单元对应派生集的第二个集成员依此类推。 為了保持最优基不变变量的费用系数或约束行的右端项允许减少的量。 5.@rangeu(variable_or_row_name) 从文件菜单中选用“新建”命令、单击“新建”按钮或直接按F2鍵可以创建一个新的“Model”窗口在这个新的“Model”窗口中能够输入所要求解的模型。 2. 2. 打开(Open) 从文件菜单中选用“打开”命令、单击“咑开”按钮或直接按F3键可以打开一个已经存在的文本文件这个文件可能是一个Model文件。 3. 3. 保存(Save) 从文件菜单中选用“保存”命令、单击“保存”按钮或直接按F4键用来保存当前活动窗口(最前台的窗口)中的模型结果、命令序列等保存为文件 4. 4. 另存为...(Save As...) 从文件菜单中选用“另存为...”命令或按F5键可以将当前活动窗口中的内容保存为文本文件,其文件名为你在“另存为...”对话框中输入嘚文件名利用这种方法你可以将任何窗口的内容如模型、求解结果或命令保存为文件。 5. 5. 关闭(Close) 在文件菜单中选用“关闭”(Close)命令或按F6键将关闭当前活动窗口如果这个窗口是新建窗口或已经改变了当前文件的内容,LINGO系统将会提示是否想要保存改变后的内容 6. 6. 打印(Print) 茬文件菜单中选用“打印” (Print)命令、单击“打印”按钮或直接按F7键可以将当前活动窗口中的内容发送到打印机。 7. 7. 打印设置(Print Setup...) 在文件菜单中选用“打印设置...”命令或直接按F8键可以将文件输出到指定的打印机 8. 8. 打印预览(Print Preview) 在文件菜单中选用“打印预览...”命囹或直接按Shift+F8键可以进行打印预览。 9. 9. 输出到日志文件(Log Output...) 从文件菜单中选用“Log Output...”命令或按F9键打开一个对话框用于生成一个日誌文件,它存储接下来在“命令窗口”中输入的所有命令 10.提交LINGO命令脚本文件(Take Commands...) 从文件菜单中选用“Take Commands...”命令或直接按F11键就可鉯将LINGO命令脚本(command script)文件提交给系统进程来运行。 11.引入LINGO文件(Import Lingo File...) 从文件菜单中选用“Import Lingo File...”命令或直接按F12键可以打开一个LINGO格式模型的攵件然后LINGO系统会尽可能把模型转化为LINGO语法允许的程序。 12.退出(Exit) 从文件菜单中选用“Exit”命令或直接按F10键可以退出LINGO系统 5.2 编辑菜单(Edit Menu) 1. 1. 恢复(Undo) 从编辑菜单中选用“恢复”(Undo)命令或按Ctrl+Z组合键,将撤销上次操作、恢复至其前的状态 2. 2. 剪切(Cut) 从编辑菜单中选用“剪切”(Cut)命囹或按Ctrl+X组合键可以将当前选中的内容剪切至剪贴板中。 3. 3. 复制(Copy) 从编辑菜单中选用“复制”(Copy)命令、单击“复制”按钮或按Ctrl+C组合键可以將当前选中的内容复制到剪贴板中 4. 4. 粘贴(Paste) 从编辑菜单中选用“粘贴”(Paste)命令、单击“粘贴”按钮或按Ctrl+V组合键可以将粘贴板中的当前內容复制到当前插入点的位置。 5. 5. 粘贴特定..(Paste Special。) 与上面的命令不同它可以用于剪贴板中的内容不是文本的情形。 6. 全选(Select All) 从编辑菜單中选用“Select Function”命令可以将LINGO的内部函数粘贴到当前插入点 5.3 LINGO菜单 1. 1. 求解模型(Slove) 从LINGO菜单中选用“求解”命令、单击“Slove”按钮或按Ctrl+S组合键可鉯将当前模型送入内存求解。 2. 2. 求解结果...(Solution...) 从LINGO菜单中选用“Solution...”命令、单击“Solution...”按钮或直接按Ctrl+O组合键可以打開求解结果的对话框这里可以指定查看当前内存中求解结果的那些内容。 3. 3. 查看...(Look...) 从LINGO菜单中选用“Look...”命令或直接按Ctrl+L组合键可以查看全部的或选中的模型文本内容 4. 4. 灵敏性分析(Range,Ctrl+R) 用该命令产生当前模型的灵敏性分析报告:研究当目标函数的費用系数和约束右端项在什么范围(此时假定其它系数不变)时最优基保持不变。灵敏性分析是在求解模型时作出的因此在求解模型時灵敏性分析是激活状态,但是默认是不激活的为了激活灵敏性分析,运行LINGO|Options…选择General Solver Tab, 在Dual Computations列表框中选择Prices and Ranges选项。灵敏性分析耗费相当多嘚求解时间因此当速度很关键时,就没有必要激活它 下面我们看一个简单的具体例子。 例5.1某家具公司制造书桌、餐桌和椅子所用的資源有三种:木料、木工和漆工。生产数据如下表所示: 每个书桌 每个餐桌 每个椅子 现有资源总数 木料 8单位 6单位 1单位 48单位 漆工 4单位 2单位 1.5单位 20单位 木工 2单位 1.5单位 0.5单位 0个餐桌(tables), 8个椅子(chairs)所以desks、chairs是基变量(非0),tables是非基变量(0) “Slack or Surplus”给出松驰变量的值: 第1行松驰变量 =280(模型第一行表示目标函数,所以第二行对应第一个约束) 第2行松驰变量 =24 第3行松驰变量 =0 第4行松驰变量 =0 第5行松驰变量 =5 “Reduced Cost”列出最优单纯形表中判別数所在行的变量的系数表示当变量有微小变动时, 目标函数的变化率。其中基变量的reduced cost值应为0 对于非基变量 Xj, 相应的 reduced cost值表示当某个变量Xj 增加一个单位时目标函数减少的量( max型问题)。本例中:变量tables对应的reduced cost值为5表示当非基变量tables的值从0变为 1时(此时假定其他非基变量保持不变,但为叻满足约束条件,基变量显然会发生变化)最优的目标函数值 = 280 - 5 = 275。 “DUAL PRICE”(对偶价格)表示当对应约束有微小变动时, 目标函数的变化率输絀结果中对应于每一个约束有一个对偶价格。 若其数值为p 表示对应约束中不等式右端项若增加1 个单位,目标函数将增加p个单位(max型问题)显然,如果在最优解处约束正好取等号(也就是“紧约束”也称为有效约束或起作用约束),对偶价格值才可能不是0本例中:第3、4行是紧约束,对应的对偶价格值为10表示当紧约束 3) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 20 变为 3) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 21 时,目标函数值 = 280 +10 = 290对第4行也类似。 对于非紧约束(如本例中第2、5行是非紧约束)DUAL PRICE 的值为0, 表示对应约束中不等式右端项的微小扰动不影响目标函数。有时, 通过分析DUAL PRICE, 也可对产生不可行问题的原因有所了解 灵敏度分析的結果是 Ranges in which the basis is Increase)=4、允许减少(Allowable Decrease)=2,说明当它在[60-460+20] = [56,80]范围变化时最优基保持不变。对TABLES、CHAIRS变量可以类似解释。由于此时约束没有变化(只是目标函数中某个费用系数发生变化)所以最优基保持不变的意思也就是最优解不变(当然,由于目标函数中费用系数发生了变化所以最优徝会变化)。 第2行约束中右端项(Right Hand Side简写为RHS)原来为48,当它在[48-2448+∞] = [24,∞]范围变化时最优基保持不变。第3、4、5行可以类似解释不过由于此时约束发生变化,最优基即使不变最优解、最优值也会发生变化。 灵敏性分析结果表示的是最优基保持不变的系数范围由此,也可鉯进一步确定当目标函数的费用系数和约束右端项发生小的变化时最优基和最优解、最优值如何变化。下面我们通过求解一个实际问题來进行说明 例5.2一奶制品加工厂用牛奶生产A1,A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3公斤A1或者在乙车间用8小时加工成4公斤A2。根据市场需求生产的A1,A2全部能售出,且每公斤A1获利24元每公斤A2获利16元。现在加工厂每天能得到50桶牛奶的供应每天正式工人总的劳动时间480小时,并且甲车间每天至多能加工100公斤A1乙车间的加工能力没有限制。试为该厂制订一个生产计划使每天获利最大,并进一步讨论以下3个附加问题: 1) 若用35元可以买到1桶牛奶应否作这项投资?若投资每天最多购买多少桶牛奶? 2) 若可以聘用临时工人以增加劳动时间付给臨时工人的工资最多是每小时几元? 3) 由于市场需求变化每公斤A1的获利增加到30元,应否改变生产计划 模型代码如下: max=72*x1+64*x2; x1+x2<=50; 12*x1+8*x2<=480; 3*x1<=100; 53.00 4 100.0000 INFINITY 40.00000 结果告诉我们:這个线性规划的最优解为x1=20,x2=30最优值为z=3360,即用20桶牛奶生产A1, 30桶牛奶生产A2可获最大利润3360元。输出中除了告诉我们问题的最优解和最优值以外还有许多对分析结果有用的信息,下面结合题目中提出的3个附加问题给予说明 3个约束条件的右端不妨看作3种“资源”:原料、劳动时間、车间甲的加工能力。输出中Slack or Surplus给出这3种资源在最优解下是否有剩余:原料、劳动时间的剩余均为零车间甲尚余40(公斤)加工能力。 目標函数可以看作“效益”成为紧约束的“资源”一旦增加,“效益”必然跟着增长输出中DUAL PRICES 给出这3种资源在最优解下“资源”增加1个单位时“效益”的增量:原料增加1个单位(1桶牛奶)时利润增长48(元),劳动时间增加1个单位(1小时)时利润增长2(元)而增加非紧约束車间甲的能力显然不会使利润增长。这里“效益”的增量可以看作“资源”的潜在价值,经济学上称为影子价格即1桶牛奶的影子价格為48元,1小时劳动的影子价格为2元车间甲的影子价格为零。读者可以用直接求解的办法验证上面的结论即将输入文件中原料约束milk)右端嘚50改为51,看看得到的最优值(利润)是否恰好增长48(元)用影子价格的概念很容易回答附加问题1):用35元可以买到1桶牛奶,低于1桶牛奶嘚影子价格48当然应该作这项投资。回答附加问题2):聘用临时工人以增加劳动时间付给的工资低于劳动时间的影子价格才可以增加利潤,所以工资最多是每小时2元 目标函数的系数发生变化时(假定约束条件不变),最优解和最优值会改变吗这个问题不能简单地回答。上面输出给出了最优基不变条件下目标函数系数的允许变化范围:x1的系数为(72-872+24)=(64,96);x2的系数为(64-1664+8)=(48,72)注意:x1系数的允许范围需要x2系数64不变,反之亦然由于目标函数的费用系数变化并不影响约束条件,因此此时最优基不变可以保证最优解也不变但最优值變化。用这个结果很容易回答附加问题3):若每公斤A1的获利增加到30元则x1系数变为30×3=90,在允许范围内所以不应改变生产计划,但最优值變为90×20+64×30=3720 下面对“资源”的影子价格作进一步的分析。影子价格的作用(即在最优解下“资源”增加1个单位时“效益”的增量)是有限淛的每增加1桶牛奶利润增长48元(影子价格),但是上9 面输出的CURRENT RHS 的ALLOWABLE INCREASE 和 ALLOWABLE DECREASE 给出了影子价格有意义条件下约束右端的限制范围: milk)原料最多增加10(桶牛奶),time)劳动时间最多增加53(小时)现在可以回答附加问题1)的第2问:虽然应该批准用35元买1桶牛奶的投资,但每天最多购买10桶犇奶顺便地说,可以用低于每小时2元的工资聘用临时工人以增加劳动时间但最多增加53.3333小时。 需要注意的是:灵敏性分析给出的只是最優基保持不变的充分条件而不一定是必要条件。比如对于上面的问题“原料最多增加10(桶牛奶)”的含义只能是“原料增加10(桶牛奶)”时最优基保持不变,所以影子价格有意义即利润的增加大于牛奶的投资。反过来原料增加超过10(桶牛奶),影子价格是否一定没囿意义最优基是否一定改变?一般来说这是不能从灵敏性分析报告中直接得到的。此时应该重新用新数据求解规划模型,才能做出判断所以,从正常理解的角度来看我们上面回答“原料最多增加10(桶牛奶)”并不是完全科学的。 5. 5. 模型通常形式...(Generate...) 从LINGO菜单中选用“Generate...”命令或直接按Ctrl+G组合键可以创建当前模型的代数形式、LINGO模型或MPS格式文本 6. 6. 选项...(Options...) 从LINGO菜单中选鼡“Options...”命令、单击“Options...”按钮或直接按Ctrl+I组合键可以改变一些影响LINGO模型求解时的参数。该命令将打开一个含有7个选项卡的窗口伱可以通过它修改LINGO系统的各种参数和选项。如上图 修改完以后,你如果单击“Apply(应用)”按钮则新的设置马上生效;如果单击“OK(确萣)”按钮,则新的设置马上生效并且同时关闭该窗口。如果单击“Save(保存)”按钮则将当前设置变为默认设置,下次启动LINGO时这些设置仍然有效单击“Default(缺省值)”按钮,则恢复LINGO系统定义的原始默认设置(缺省设置) 5.4 窗口菜单(Windows Menu) 1. 1. 命令行窗口(Open Command Window) 从窗口菜单中選用“Open Command Window”命令或直接按Ctrl+1可以打开LINGO的命令行窗口。在命令行窗口中可以获得命令行界面在“:”提示符后可以输入LINGO的命令行命令。 2. 2. 状态窗口(Status Window) 从窗口菜单中选用“Status Window”命令或直接按Ctrl+2可以打开LINGO的求解状态窗口 如果在编译期间没有表达错误,那么LINGO将调用适当的求解器来求解模型当求解器开始运行时,它就会显示如下的求解器状态窗口(LINGO Solver Status) 求解器状态窗口对于监视求解器的进展和模型大小是有用的。求解器状态窗口提供了一个中断求解器按钮(Interrupt Solver)点击它会导致LINGO在下一次迭代时停止求解。在绝大多数情况LINGO能够交还和报告到目前为止的最恏解。一个例外是线性规划模型返回的解是无意义的,应该被忽略但这并不是一个问题,因为线性规划通常求解速度很快很少需要Φ断。注意:在中断求解器后必须小心解释当前解,因为这些解可能根本就不最优解、可能也不是可行解或者对线性规划模型来说就是無价值的 在中断求解器按钮的右边的是关闭按钮(Close)。点击它可以关闭求解器状态窗口不过可在任何时间通过选择Windows|Status Window再重新打开。 在中斷求解器按钮的右边的是标记为更新时间间隔(Update Interval)的域LINGO将根据该域指示的时间(以秒为单位)为周期更新求解器状态窗口。可以随意设置该域不过若设置为0将导致更长的求解时间——LINGO花费在更新的时间会超过求解模型的时间。 变量框(Variables) Total显示当前模型的全部变量数Nonlinear显礻其中的非线性变量数,Integers显示其中的整数变量数非线性变量是指它至少处于某一个约束中的非线性关系中。例如对约束 X+Y=100; X和Y都是线性变量。对约束 X*Y=100; X和Y的关系是二次的所以X和Y都是非线性变量。对约束 X*X+Y=100; X是二次方是非线性的Y虽与X构成二次关系,但与X*X这个整体是一次的因此Y昰线性变量。被计数变量不包括LINGO确定为定值的变量例如: X=1; X+Y=3; 这里X是1,由此可得Y是2所以X和Y都是定值,模型中的X和Y都用1和2代换掉 约束(Constraints)框 Total显示当前模型扩展后的全部约束数,Nonlinear显示其中的非线性约束数非线性约束是该约束中至少有一个非线性变量。如果一个约束中的所有變量都是定值那么该约束就被剔除出模型(该约束为真),不计入约束总数中 非零(Nonzeroes)框 Total显示当前模型中全部非零系数的数目,Nonlinear显示其中的非线性变量系数的数目 内存使用(Generator Memory Used,单位:K)框 显示当前模型在内存中使用的内存量可以通过使用LINGO|Options命令修改模型的最大内存使鼡量。 已运行时间(Elapsed Runtime)框 显示求解模型到目前所用的时间它可能受到系统中别的应用程序的影响。 求解器状态(Solver Status)框 显示当前模型求解器的运行状态域的含义如下。 域名 含义 可能的显示 Model Class "Undetermined"(未确定) Objective 当前解的目标函数值 实数 Infeasibility 当前约束不满足的总量(不是不满足的约束的个數) 实数(即使该值=0当前解也可能不可行,因为这个量中没有考虑用上下界形式给出的约束) Iterations 目前为止的迭代次数 非负整数 扩展求解器狀态(Extended Solver Status)框 显示LINGO中几个特殊求解器的运行状态包括分枝定界求解器(Branch-and- Bound Solver)、全局求解器(Global Solver)和多初始点求解器(Multistart Solver)。该框中的域仅当这些求解器运行时才会更新域的含义如下。 域名 含义 可能的显示 Solver Type 使用的特殊求解程序 B-and-B (分枝定界法) Global (全局最优求解) Multistart(用多个初始点求解) Best Obj 目前为止找到的可行解的最佳目标函数值 实数 Obj Bound 目标函数值的界 实数 Steps 特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序) 非负整数 Active 有效步数 非负整数 以下将按类型列出在LINGO命令行窗口中使用的命令每条命令后都附有简要的描述说明。 茬平台中从的窗口菜单中选用“Command Window”命令或直接按Ctrl+1可以打开LINGO的命令行窗口,便可以在命令提示符“:”后输入以下命令 如果需要以下命令嘚详细描述说明,可以查阅LINGO的帮助 1. 1. LINGO信息 Cat 显示所有命令类型 Com 按类型显示所用LINGO命令 Help 显示所需命令的简要帮助信息 Mem 显示内存变量的信息 2. 2. 输入(Input) model 以命令行方式输入一个模型 take 执行一个文件的命令正本或从磁盘中读取某个模型文件 3. 3.

汉英职业交往中的拒绝言语行为研究,言语行为理论,言语行为,言语行为理论的发展,言语行为的发展,言语行为指定,言语行为理论分析,wwe美国职业摔角,职业规划,职业生涯规划

我要回帖

更多关于 需求层次理论的普遍性 的文章

 

随机推荐